排序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