Pandas 获得预聚合数据的中位数/平均值

标签 pandas median grouped-table

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

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

在上面的示例中,我想在考虑“计数”列的情况下获取列值的中位数/平均值等

实际值是 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

关于Pandas 获得预聚合数据的中位数/平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61845056/

相关文章:

python - 如何按列分组,并计算单独列中的值(Pandas)

python - 求中位数的简单方法

ios - 带有分组 TableView 的 UISearchBar——在 Swift 中

r - 用R中的日期中位数插补数据

algorithm - Medians of Medians算法的解释

r - 按组变量排列grouped_df不起作用

iphone - 如何检测何时未选择 UITableView 表格单元格?

python - 列上的 Pandas GroupBy 和 CumSum

python - 添加最近 10 个日期的指示器

python - 使用 pandas 返回 hdf 文件中所有数据集的列表