要確定pandas dataframe組的統計數據,我找到了Chris Albon的解釋說明我想應用於由兩個元素(本MWE中的「a」和「b」)分組的數據幀。按兩個元素分組的數據幀統計
所以這裏是一個函數來計算某組統計數據:
df = pd.DataFrame({'a':['A','A','B','B','B','C'],
'b':['A','A','B','A','B','A'],
'c':[ 1, 2, 5, 5, 4, 6 ]})
然後創建由 「A」 和 「B」 分組的統計表格:一個數據幀df
的
def get_group_stats(group):
return {'count': group.count().add_prefix('count_'),
'mean': group.mean().add_prefix('mean_'),
'sum': group.sum().add_prefix('sum_')}
定義:
s1 = df.groupby(['a', 'b']).apply(get_group_stats)
但建議的unstack()
函數做n合併數據幀是正確的。我不想要什麼:
a | b | count_c | mean_c | sum_c
-------------------------------------------------
A | A | 2 | 1.5 | 3.0
B | A | 1 | 5.0 | 5.0
B | B | 2 | 4.5 | 9.0
C | B | 1 | 6.0 | 6.0
優雅的解決方案!我添加了'.reset_index()' – API
@Api:@Jezrael在我發佈之後立即爲他的答案提供了這個'agg'解決方案。你應該接受他的答案,它更完整。 –