欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關于Numpy中argsort()函數的用法解讀

 更新時間:2023年06月14日 10:11:54   作者:SophiaCV  
這篇文章主要介紹了關于Numpy中argsort()函數的用法解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Numpy中argsort()函數的用法

argsort()函數的作用是將數組按照從小到大的順序排序,并按照對應的索引值輸出

argsort()函數中,當axis=0時,按列排列;當axis=1時,按行排列。如果省略默認按行排列。

下邊通過例子來說明其用法

#!/usr/bin/env python
# -*- coding:utf-8 -*-
from numpy import *
a = [3, 5, 1]
b = argsort(a)
print("a排序為:", end='')
print(b)
c = [[8, 3, 7], [1, 5, 9]]
d = argsort(c)  # 默認按行排序
print("默認按行排序c為:")
print(d)
print("按行排序c為:")
print(argsort(c, axis=1))
print("按行列排序c為:")
print(argsort(c, axis=0))

運行結果為:

Numpy.argsort()函數使用(以按矩陣指定列對各行排序為例)

該方法返回的是矩陣a要素排序后的索引數據,干說無用,以二維數組為例,按照指定列,如第0列,進行排序。

Python代碼:

首先看代碼,再逐行解釋。

import numpy as n
a = np.array([[0, 11, 12], [2, 2, 3], [7, 8, 9], [1, 2, 3]])
ind = np.argsort(a, axis=0)
print(a)
print(ind)
print(a[ind[:, 0]])
# Output:
# [[ 0 11 12]
#  [ 2  2  3]
#  [ 7  8  9]
#  [ 1  2  3]]
# [[0 1 1]
#  [3 3 3]
#  [1 2 2]
#  [2 0 0]]
# [[ 0 11 12]
#  [ 1  2  3]
#  [ 2  2  3]
#  [ 7  8  9]]

待排序數組"a":

[[ 0 11 12]
[ 2 2  3]
[ 7 8   9]
[ 1 2  3]] 

使用Numpy.argsort對a的各行進行比較,首先會比較a每行的第一列的數值,按第一列數值從小到大排序,再取第二列的值比較,如此往復,最后返回各個元素的在a中的索引值矩陣,將a各元素的索引值放到排序后的位置,你將得到這樣一個索引矩陣"ind":

索引矩陣"ind":

[[[0 1 1]
[[3 3 3]
[[1 2 2]
[ [2 0 0]] 

第0列[0 3 1 2]分別表示a[0][0], a[0][3], a[0][1], a[0][2]在a第0列的索引值,同理ind的第1列表示在a第1列的索引值,由于a[0][0]最小所以它還是在第一個位置,a[0][2]最大,所以被放置到了最后一個位置,所以a[0][2]的索引2就在ind矩陣第0列中的最后一個位置。

最后,我們可以取ind的第0列,將矩陣a的各行按照這列的索引排序,即第0行不變,第1行放原先第3行[1 2 3],第2行放原先第1行[2 2 3],第3行放原先第2行[7 8 9],排序后的數組如下:

排序后的數組"a":

[[[ 0 11 12]
[ [ 1 2  3]
[ [ 2 2  3]
[ [ 7 8  9]]]

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • python訓練數據時打亂訓練數據與標簽的兩種方法小結

    python訓練數據時打亂訓練數據與標簽的兩種方法小結

    今天小編就為大家分享一篇python訓練數據時打亂訓練數據與標簽的兩種方法小結,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • python?pandas數據處理教程之合并與拼接

    python?pandas數據處理教程之合并與拼接

    在實際處理數據業(yè)務需求中,我們經常會遇到這樣的需求,將多個表連接起來再進行數據的處理和分析,類似SQL中的連接查詢功能,下面這篇文章主要給大家介紹了關于python?pandas數據處理教程之合并與拼接的相關資料,需要的朋友可以參考下
    2022-02-02
  • 簡單談談Python中的幾種常見的數據類型

    簡單談談Python中的幾種常見的數據類型

    Python 中的變量不需要聲明。每個變量在使用前都必須賦值,變量賦值以后該變量才會被創(chuàng)建。在 Python 中,變量就是變量,它沒有類型,我們所說的"類型"是變量所指的內存中對象的類型。
    2017-02-02
  • Python向MySQL批量插數據的實例講解

    Python向MySQL批量插數據的實例講解

    下面小編就為大家分享一篇Python向MySQL批量插數據的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • Python識別html主要文本框過程解析

    Python識別html主要文本框過程解析

    這篇文章主要介紹了python識別html主要文本框過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • 讓Python腳本暫停執(zhí)行的幾種方法(小結)

    讓Python腳本暫停執(zhí)行的幾種方法(小結)

    這篇文章主要介紹了讓Python腳本暫停執(zhí)行的幾種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • python實現(xiàn)爬蟲統(tǒng)計學校BBS男女比例之多線程爬蟲(二)

    python實現(xiàn)爬蟲統(tǒng)計學校BBS男女比例之多線程爬蟲(二)

    這篇文章主要介紹了python實現(xiàn)爬蟲統(tǒng)計學校BBS男女比例之多線程爬蟲,感興趣的小伙伴們可以參考一下
    2015-12-12
  • 淺談Python反射 & 單例模式

    淺談Python反射 & 單例模式

    這篇文章主要介紹了Python反射 & 單例模式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • python判斷給定的字符串是否是有效日期的方法

    python判斷給定的字符串是否是有效日期的方法

    這篇文章主要介紹了python判斷給定的字符串是否是有效日期的方法,涉及Python針對字符串與日期操作的相關技巧,需要的朋友可以參考下
    2015-05-05
  • Pycharm設置自動代碼提示的超詳細圖文教程

    Pycharm設置自動代碼提示的超詳細圖文教程

    有時候我們在使用pycharm編寫python代碼的時候,發(fā)現(xiàn)沒有代碼提示,怎么解決呢?下面這篇文章主要給大家介紹了關于Pycharm設置自動代碼提示的超詳細圖文教程,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-05-05

最新評論