码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-01-12 20:56:15      阅读:356      评论:0      收藏:0      [点我收藏+]

标签:enc   developer   .so   1.0   .data   iss   false   eve   lse   

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()时是否会保留顺序?

标签:enc   developer   .so   1.0   .data   iss   false   eve   lse   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!