np.argsort

np.argsort(a, axis=-1, kind=None, order=None)

  • a:array
  • axis:需要排列的维度,默认为-1,即最后一维度;如果axis为None,将array展开为一维

注意:numpy的维度是倒着数的,比如array有4维,(m, n, p, q),那么q为第一维,编号为0,p为第二维,编号为1,以此类推

返回数组从小到大的索引

Returns the indices that would sort an array.

Perform an indirect sort along the given axis using the algorithm specified by the kind keyword. It returns an array of indices of the same shape as a that index data along the given axis in sorted order.

x = np.array([[0, 3, 8], [2, 9, 2]])
'''
[[0 3 8]
 [2 9 2]]
'''


y1 = np.argsort(x, axis=0)
y2 = np.argsort(x, axis=1)
'''
y1:axis=0,表示第一维度,即array(2, 3)中3表示的那一维度
[[0 0 1]
 [1 1 0]]
y2:axis=1,表示第二维度,即array(2, 3)中2表示的那一维度
[[0 1 2]
 [0 2 1]]
'''


y5 = np.argsort(x, axis=-1)
y3 = np.argsort(x)
'''
y5:axis=-1表示最后一维,即array(2, 3)中2表示的那一维度
[[0 1 2]
 [0 2 1]]
y3:默认为最后一维
[[0 1 2]
 [0 2 1]]
'''


y4 = np.argsort(x, axis=None)
'''
y4:将array展开后求索引
[0 3 5 1 2 4]
'''
上一篇:数据分析与挖掘


下一篇:比较两个df中的某几列是否相同