python numpy数组的几种排序方式

二维数组a:

1 4

3 1


1、ndarray.sort(axis=-1, kind='quicksort', order=None)

使用方法:a.sort

参数说明:

axis:排序沿着数组的方向,0表示按行,1表示按列

kind:排序的算法,提供了快排、混排、堆排

order:不是指的顺序,以后用的时候再去分析这个

作用效果:对数组a排序,排序后直接改变了a

例如:

>>a.sort(axis=1)

>>print a

1 4

1 3

2、numpy.sort(a, axis=-1, kind='quicksort', order=None)

使用方法:numpy.sort(a)

参数说明:

a:要排序的数组,其他同1

作用效果:对数组a排序,返回一个排序后的数组(与a相同维度),a不变

例如:

>>print  numpy.sort(a,axis=1)

1 4

1 3

>>print a

1 4

3 1


3、numpy.argsort(a, axis=-1, kind='quicksort', order=None)

使用方法:numpy.argsort(a)

参数说明:同2

作用效果:对数组a排序,返回一个排序后索引,a不变

例如:

>>print  numpy.argsort(a,axis=1)

0 1

1 0

4、sorted(iterable, cmp=None, key=None, reverse=False)

说明:内置的排序函数,对list,字典等等可以使用

iterable:是可迭代类型;
cmp:用于比较的函数,比较什么由key决定,有默认值,迭代集合中的一项;
key:用列表元素的某个属性和函数进行作为关键字,有默认值,迭代集合中的一项;
reverse:排序规则. reverse = True 或者 reverse = False,默认False(从小到大)。
返回值:是一个经过排序的可迭代类型,与iterable一样;

例如:b是一个字典

b:

{'a': 2, 'c': 1, 'b': 3}

对b进行排序:

>>c=sorted(b.iteritems(),key=operator.itemgetter(1),reverse=False)

>>print c[('c', 1), ('a', 2), ('b', 3)]

可见:返回的是一个list

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值