首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python中的排序

列表中的sort和sorted

sort是inplace排序,且sort是列表的一个函数

In [25]: a=[2,3,1]In [26]: a.sort()In [27]: aOut[27]: [1, 2, 3]

注意:列表调用sort方法后是没有返回值的。

如果在使用的时候,忘记这个,是非常崩溃的。

sorted是对所有可迭代对象排序

In [34]: students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10),]In [35]: sorted(students,key=lambda x:x[2])Out[35]: [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]

其中key为函数,输入为可迭代对象中的元素,传出为索引为2的元素。于是,就是按照students中元素索引为2的对象排序。

pandas中的sort_index和sort_values

sort_index

DataFrame.sort_index(axis=1,ascending=False)

如函数名称所示,是按照索引来排序。

那么就需要知道哪个轴的索引排序,因而需要参数axis

其中axis=1表示对所有的columns进行排序,下面的数也跟着发生移动。后面的ascending=False表示按降序排列,参数默认为升序。

sort_values

DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last')

显然,如函数名称所示,是按照值排序。既然需要按照值来排序,那么肯定需要知道哪个轴(参数axis),和轴中的哪一条数据(参数by)。

按照轴0或轴1,再根据元素值的大小排序。

In [20]: bOut[20]: 0 1 2 30 2 1 2 31 6 5 6 72 10 9 10 11In [23]: b.sort_values(axis=1,by=0,ascending=False)Out[23]: 3 0 2 10 3 2 2 11 7 6 6 52 11 10 10 9

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180316G1CPY800?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券