目录
1.sort()
(1)对一维数组进行排序
import numpy as np
#创建数组
arr=np.arange(16,0,-1)
print('arr:',arr)
#进行排序,默认为升序
arr.sort()
print('arr:',arr)
(2)对二维数组进行排序
axis=1 x轴
axis=0 y轴
import numpy as np
np.arange(16,0,-1),reshape(4,4)
print('arr:',arr)
#axis=1 按照横向进行排序
arr.sort(axis=1)
print('arr:',arr)
#axis=0 按照纵向进行排序
print('arr:',arr)
2.argsort()
返回排序后的数据元素原来对应的下标
如果遇到相同得元素,则这几个元素的顺序保持不变
import numpy as np
arr=np.array([10,3,16,8])
print(arr)
arr_new=arr.argsort()
print(arr_new)
arr=np.array([10,3,15,40,3,14,15])
print(arr)
arr_new=arr.argsort()
print(arr_new)
分析:
3.lexsort()
返回的是排序后元素原来的下标值,对原来的数组不会产生影响
先给最后一个排序,如果遇到相同得元素,按照前面的数组对应的元素进行排序
import numpy as np
#创建三个数组 数组元素的个数必须一样
arr1=np.array([3,2,5,7,0])
arr2=np.array([90,78,89,20,57])
arr3=np.array([300,100,500,700,100])
res=np.lexsort((arr1,arr2,arr3))
print(res)
for i in res:
print(arr1[i])
运行结果:
分析: