Numpy--区分sort()、sorted()、argsort()

最大的区分:

sort()与sorted()只是对列表的排序;

argsort()是对数组的排序;

①、sort()

sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。

aList = [123, 134, 101, 126, 128]
aList.sort()
print ("List:", aList)

输出:

List: [101, 123, 126, 128, 134]

②、sorted()

sorted()对所有的可迭代序列都有效。

sorted(iterable,cmp,key,reverse)

参数:iterable可以是list或者iterator;

cmp是带两个参数的比较函数;

key 是带一个参数的函数;

reverse为False或者True;

③、argsort(a, axis=-1, kind='quicksort', order=None)

返回将对数组进行排序的索引。

注意:在数组中默认使用np.argsort(a):按照升序从小到大排序;np.argsort(-a):按照降序从大刀小排序

           在矩阵中使用axis,其中axis=0:表示按列排序;axis=1:表示按行排序;

范例(一维数组):

import numpy as np
a = np.array([4, 3, 1, 2])
b = np.argsort(a) # 求a从小到大排序的坐标
print ("索引排序:", b)  #返回升序的索引值
print ("数组值排序:", a[b])  #返回数组升序排列值

输出:

索引排序: [2 3 1 0]
数组值排序: [1 2 3 4]

范例(二维数组):

import numpy as np
x = np.array([[0, 3], [2, 2]])
Cols = np.argsort(x, axis=0) #按列排序
Rows = np.argsort(x, axis=1) #按行排序
print ("按列排序:", Cols)
print ("按行排序:", Rows)

输出:

按列排序: [[0 1]
 [1 0]]
按行排序: [[0 1]
 [0 1]]

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值