例如,我有一个多列数据框。我想通过对a
列进行升序排列,然后对b
列进行升序排列来排列数据。
我能够通过ff实现这一目标。代码:df.sort_values(['b','a'])
。请注意,参数的顺序相反。
我的问题是,df.sort_values('a').sort_values('b')
为什么不起作用?
答案 0 :(得分:3)
使用.sort_values(['a', 'b'])
时,首先要按列a
对数据框进行排序,然后在这些范围内 进行排序,并按b
进行排序。首先将其视为分组,然后对这些分组中的进行排序。如果有c
,它将对c
a
组中的{em>内的b
列进行排序。
如果您执行.sort_values('a').sort_values('b')
,则要按a
对数据帧进行排序,然后获取返回的数据帧,然后按b
对数据帧进行“重新开始”,基本上破坏了先前对{ {1}}。使用a
可以将每个分类都保留在其中。