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
假设我的数据已经分组,我该如何计算中位数和其他统计数据?
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