数组排序

目录

1.sort()

(1)对一维数组进行排序

(2)对二维数组进行排序

2.argsort()

3.lexsort()


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])

运行结果:

分析:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值