我有一个pandas数据帧,格式如下:
C1 C2
A 0 1.764052 0.400157
1 0.978738 2.240893
2 1.867558 -0.977278
3 0.950088 -0.151357
4 -0.103219 0.410599
C 0 0.144044 1.454274
1 0.761038 0.121675
2 0.443863 0.333674
3 1.494079 -0.205158
4 0.313068 -0.854096
它由以下代码生成:
^{pr2}$我想按列C1
分别对每个组(第一个索引级别)进行排序,因此我使用groupby
函数:
在数据框groupby(级别=0)。应用(lambda x:x.sort_值('C1'))
我得到的结果是:
C1 C2
A A 4 -0.103219 0.410599
3 0.950088 -0.151357
1 0.978738 2.240893
0 1.764052 0.400157
2 1.867558 -0.977278
C C 0 0.144044 1.454274
4 0.313068 -0.854096
2 0.443863 0.333674
1 0.761038 0.121675
3 1.494079 -0.205158
为什么要复制第一级?是否有更好的方法在每个组内对数据进行排序?在
您需要将参数} :
group_keys=False
添加到^{可以按列
C1
排序,然后按级别0对索引排序。您必须将sort_remaining
参数指定给False
,这样才能对多索引数据帧起作用:相关问题 更多 >
编程相关推荐