首页 > 解决方案 > 通过取均值或中值来缩小数据集

问题描述

假设我有以下数据框df

Number     Apples
1            40
2            50
3            60
4            70
5            80
6            90
7            100
8            110
9            120

我想缩小这个数据集并创建数据框df2,以便只有 3 个观察值。因此,我想取 1,2,3 的平均值并使其成为第一行,然后是 4,5,6 并使其成为第二行,最后是 7,8,9 并使其成为第三行

最终结果将如下

Number     Apples
1            50
2            80
3            110

标签: pythonpandas

解决方案


这是一种更简单的方法,应该比 groupby 运行得快得多 -

df.rolling(3).mean()[2::3]
    apples
2   50.0
5   80.0
8   110.0

推荐阅读