相关疑难解决方法(0)

Pandas - 按多列分组的移动平均线

熊猫新手,请耐心等待。

我的数据框的格式

date,name,country,tag,cat,score
2017-05-21,X,US,free,4,0.0573
2017-05-22,X,US,free,4,0.0626
2017-05-23,X,US,free,4,0.0584
2017-05-24,X,US,free,4,0.0563
2017-05-21,X,MX,free,4,0.0537
2017-05-22,X,MX,free,4,0.0640
2017-05-23,X,MX,free,4,0.0648
2017-05-24,X,MX,free,4,0.0668
Run Code Online (Sandbox Code Playgroud)

我试图想出一种方法来找到国家/标签/类别组内的 X 天移动平均线,所以我需要:

date,name,country,tag,cat,score,moving_average
2017-05-21,X,US,free,4,0.0573,0
2017-05-22,X,US,free,4,0.0626,0.0605
2017-05-23,X,US,free,4,0.0584,0.0594
2017-05-24,X,US,free,4,0.0563,and so on
...
2017-05-21,X,MX,free,4,0.0537,and so on
2017-05-22,X,MX,free,4,0.0640,and so on
2017-05-23,X,MX,free,4,0.0648,and so on
2017-05-24,X,MX,free,4,0.0668,and so on
Run Code Online (Sandbox Code Playgroud)

我尝试了按我需要的列分组的方法,然后使用 pd.rolling_mean 但我最终得到了一堆 NaN

df.groupby(['date', 'name', 'country', 'tag'])['score'].apply(pd.rolling_mean, 2, min_periods=2)  # window size 2
Run Code Online (Sandbox Code Playgroud)

我将如何正确执行此操作?

python moving-average pandas

3
推荐指数
1
解决办法
3344
查看次数

标签 统计

moving-average ×1

pandas ×1

python ×1