首页 > 其他 > 详细

Pandas使用groupby()时是否会保留顺序?

时间:2019-01-12 20:51:47      阅读:236      评论:0      收藏:0      [点我收藏+]

PythonPandas:使用groupby()和agg()时是否保留了顺序?

看到这个增强问题

简短的答案是肯定的,groupby会保留传入的顺序。你可以用你的例子来证明这一点:

df = pd.DataFrame({‘A‘: [‘group1‘, ‘group1‘, ‘group2‘, ‘group2‘, ‘group3‘, ‘group3‘],
                   ‘B‘: [10, 12, 10, 25, 10, 12],
                   ‘C‘: [100, 102, 100, 250, 100, 102]})

>>> df
[output]
        A   B    C
0  group1  10  100
1  group1  12  102
2  group2  10  100
3  group2  25  250
4  group3  10  100
5  group3  12  102
In [20]: df.sort_index(ascending=False).groupby(‘A‘).agg([np.mean, lambda x: x.iloc[1] ])
Out[20]: 
           B             C         
        mean <lambda> mean <lambda>
A                                  
group1  11.0       10  101      100
group2  17.5       10  175      100
group3  11.0       10  101      100

顺便提一句,如果要安全的获得组的第二个值,可以使用df.groupby(‘A‘).nth(1)

Pandas使用groupby()时是否会保留顺序?

原文:https://www.cnblogs.com/ZeroTensor/p/10260914.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!