按索引排序
>>import numpy as np
>>x=np.array([[0,12,48],[4,14,18],[1,7,99]])
#灵活应用索引和切片实现按索引的排序
#倒序的实现(普通列表也可用reverse实现,numpy则没有这个方法)
>>x[::-1]
array([[ 1, 7, 99],
[ 4, 14, 18],
[ 0, 12, 48]])
#指定顺序的实现(传入用于指定顺序的整数列表或ndarray即可)
>>x[[2,0,1]]
array([[ 1, 7, 99],
[ 0, 12, 48],
[ 4, 14, 18]])
>>x[[2,0,1],[0,2,1]] #只是截取部分元素,并不符合排序要求
array([ 1, 48, 14])
>>x[[2,0,1]][:,[0,2,1]]
array([[ 1, 99, 7],
[ 0, 48, 12],
[ 4, 18, 14]])
>>x[np.ix_([2,0,1],[0,2,1])] #np.ix_函数将两个一维数组转化为用于选取方形区域的索引器
array([[ 1, 99, 7],
[ 0, 48, 12],
[ 4, 18, 14]])
按值大小排序
ndarray.sort(axis=-1, kind='quicksort', order=None)
或者:ndarray.sort(axis=-1, kind='quicksort', order=None)
参数 | 描述 |
---|---|
axis | 排序沿数组的(轴)方向,0表示按行,1表示按列,None表示展开来排序 |