Pandas 获得 median/average 的预聚合数据

Pandas get median/average of pre-aggregated data

假设我的数据已经分组,我该如何计算中位数和其他统计数据?

Index  Value  Count
0      6      2
1      2      3
2      9      8

在上面的示例中,我想获取列值的 median/average 等,同时考虑列 'Count'

实际值是 2,2,2,6,6,9,9,9,9,9,9,9,9 所以我的中位数是 9。

IIUC,你可以做到平均水平

print ((df['Value']*df['Count']).sum()/df['Count'].sum())
6.923076923076923

对于中位数,使用 np.repeat

print (np.repeat(df['Value'], df['Count']).median())
9.0