python多列排序_如何通过两列或更多列对python pandas中的dataFrame进行排序?

截至0.17.0版本,该sort方法已被弃用,以支持sort_values。 sort在0.20.0版本中被完全删除。参数(和结果)保持不变:

df.sort_values(['a', 'b'], ascending=[True, False])

您可以使用升序参数sort:

df.sort(['a', 'b'], ascending=[True, False])

例如:

In [11]: df1 = pd.DataFrame(np.random.randint(1, 5, (10,2)), columns=['a','b'])

In [12]: df1.sort(['a', 'b'], ascending=[True, False])

Out[12]:

a b

2 1 4

7 1 3

1 1 2

3 1 2

4 3 2

6 4 4

0 4 3

9 4 3

5 4 1

8 4 1

由@renadeen评论

默认情况下排序不到位!因此,您应该将sort方法的结果分配给变量,或者将inplace = True添加到方法调用中。

也就是说,如果要将df1重用为已排序的DataFrame:

df1 = df1.sort(['a', 'b'], ascending=[True, False])

要么

df1.sort(['a', 'b'], ascending=[True, False], inplace=True)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值