赞
踩
排序numpy.sort()
numpy.sort(a[, axis=-1, kind='quicksort', order=None])
Return a sorted copy of an array.
axis:排序沿数组的(轴)方向,0表示按列,1表示按行,None表示展开来排序,默认为-1,表示沿最后的轴排序(二维行,列,二维中最后一轴就是列轴。三维,x,y,z轴),将指定轴上的每一个元素都按照从小到大的顺序排列。=None 都拿出来排列
默认为-1表示根据最大的维度进行排序,例如该数组为二维数组时,axis=-1与axis=1用法相同
- import numpy as np
-
- np.random.seed(20200612)
- x = np.random.rand(5, 5) * 10
- x = np.around(x, 2)
- print(x)
- # [[2.32 7.54 9.78 1.73 6.22]
- # [6.93 5.17 9.28 9.76 8.25]
- # [0.01 4.23 0.19 1.73 9.27]
- # [7.99 4.97 0.88 7.32 4.29]
- # [9.05 0.07 8.95 7.9 6.99]]
-
- y = np.sort(x) #默认为负1
- print(y)
- # [[1.73 2.32 6.22 7.54 9.78]
- # [5.17 6.93 8.25 9.28 9.76]
- # [0.01 0.19 1.73 4.23 9.27]
- # [0.88 4.29 4.97 7.32 7.99]
- # [0.07 6.99 7.9 8.95 9.05]]
-
- y = np.sort(x, axis=0)
- print(y)
- # [[0.01 0.07 0.19 1.73 4.29]
- # [2.32 4.23 0.88 1.73 6.22]
- # [6.93 4.97 8.95 7.32 6.99]
- # [7.99 5.17 9.28 7.9 8.25]
- # [9.05 7.54 9.78 9.76 9.27]]
-
- y = np.sort(x, axis=1)
- print(y)
- # [[1.73 2.32 6.22 7.54 9.78]
- # [5.17 6.93 8.25 9.28 9.76]
- # [0.01 0.19 1.73 4.23 9.27]
- # [0.88 4.29 4.97 7.32 7.99]
- # [0.07 6.99 7.9 8.95 9.05]]、
-
- >>> y = np.sort(x, None) #全部拿出来进行排序
- >>> print(y)
- [0.01 0.07 0.19 0.88 1.73 1.73 2.32 4.23 4.29 4.97 5.17 6.22 6.93 6.99
- 7.32 7.54 7.9 7.99 8.25 8.95 9.05 9.27 9.28 9.76 9.78]
numpy.argsort() 函数返回的是数组值从小到大的索引值。对数组沿给定轴执行间接排序,并使用指定排序类型返回数据的索引数组。这个索引数组用于构造排序后的数组。
- import numpy as np
-
- np.random.seed(20200612)
- x = np.random.randint(0, 10, 10)
- print(x)
- # [6 1 8 5 5 4 1 2 9 1]
-
- y = np.argsort(x) #升序排列索引
- print(y)
- # [1 6 9 7 5 3 4 0 2 8]
-
- print(x[y]) #打印y索引所对应的X的值
- # [1 1 1 2 4 5 5 6 8 9]
-
- y = np.argsort(-x) #降序排列索引
- print(y)
- # [8 2 0 3 4 5 7 1 6 9]
-
- print(x[y])
- # [9 8 6 5 5 4 2 1 1 1]
搜索:
numpy.argmax(a[, axis=None, out=None])
Returns the indices of the maximum values along an axis.numpy.argmin(a[, axis=None, out=None])
Returns the indices of the minimum values along an axis.- import numpy as np
-
- np.random.seed(20200612)
- x = np.random.rand(5, 5) * 10
- x = np.around(x, 2)
- print(x)
- # [[2.32 7.54 9.78 1.73 6.22]
- # [6.93 5.17 9.28 9.76 8.25]
- # [0.01 4.23 0.19 1.73 9.27]
- # [7.99 4.97 0.88 7.32 4.29]
- # [9.05 0.07 8.95 7.9 6.99]]
-
- y = np.argmax(x)
- print(y) # 2
-
- y = np.argmax(x, axis=0)
- print(y)
- # [4 0 0 1 2]
-
- y = np.argmax(x, axis=1)
- print(y)
- # [2 3 4 0 0]
计数:
numpy.count_nonzero(a, axis=None)
Counts the number of non-zero values in the array a.- import numpy as np
-
- x = np.count_nonzero(np.eye(4))
- print(x) # 4
-
- x = np.count_nonzero([[0, 1, 7, 0, 0], [3, 0, 0, 2, 19]])
- print(x) # 5
-
- x = np.count_nonzero([[0, 1, 7, 0, 0], [3, 0, 0, 2, 19]], axis=0)
- print(x) # [1 1 1 1 1]
-
- x = np.count_nonzero([[0, 1, 7, 0, 0], [3, 0, 0, 2, 19]], axis=1)
- print(x) # [2 3]
numpy 数组排序np.sort()、np.argsort()_大Py的博客-CSDN博客
对Numpy Matrix 轴Axis和 排序sort的理解_noetic_wxb的博客-CSDN博客
numpy中的sort()参数axis=-1是什么意思?_CDA答疑社区
numpy.sort的使用方法及参数分析自学总结_weixin_44776220的博客-CSDN博客_numpy sort
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。