pandas使用groupby函数计算dataframe数据中每个分组的滚动平均值(rolling mean)的语法
时间: 2024-12-18 22:22:53 浏览: 78
在pandas中,使用groupby
和rolling
函数来计算DataFrame中每个分组的滚动平均值非常直观。假设有这样一个DataFrame,比如我们想按某个列(如'category')分组,并计算其他列(如'value')的滚动平均值,可以这样做:
import pandas as pd
# 假设df是你的DataFrame,columns=['category', 'value']
df = ...
# 使用groupby按category分组
grouped = df.groupby('category')
# 使用rolling(窗口大小, min_periods=1)计算每个分组的滚动平均值,min_periods默认为1,即忽略首个窗口内不足的观测数
rolling_mean = grouped['value'].rolling(window=3).mean()
# rolling_mean现在是一个新的Series,每一项代表该类别下,连续三个值的平均值
这里的window=3
表示滑动窗口大小为3,也就是计算每个分组过去三步的平均值。如果你想改变窗口大小,只需要更改这个数字即可。
阅读全文
相关推荐






