Pandas使用groupby()时是否会保留顺序?
Posted zerotensor
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pandas使用groupby()时是否会保留顺序?相关的知识,希望对你有一定的参考价值。
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()时是否会保留顺序?的主要内容,如果未能解决你的问题,请参考以下文章
将列的名称保留在 groupby 中,并在 pandas 数据框中使用 sum