标签: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)
。
标签:enc developer .so 1.0 .data iss false eve lse
原文地址:https://www.cnblogs.com/ZeroTensor/p/10260914.html