猿问

获取没有重叠的滑动窗口均值

鉴于此数据框:

df = pd.DataFrame({ 'id_val' : [1,2,3,4,5] , 'c1': [1.0 , 2.0, 3.0,4.0,5.0]})

我试图返回 c1 行的每 2 个值的滑动窗口的均值,没有重叠:

[1,2] , [3,4] , [5]=的平均值[1.5 , 3.5, 5 ]

df.rolling(2)['c1'].mean()[1::2]

回报:

http://img2.mukewang.com/63775cb00001d81902100056.jpg

我认为这意味着采用大小为 2 的滚动窗口,计算“c1”的平均值,[1::2]意味着从第二行开始并每隔一行返回一次。这个对吗 ?

为了返回 [5] 这是最后一行的平均值,我可以为数据帧返回 c1 的最后一个值,但这看起来很笨重,有没有更干净的方法?


HUWWW
浏览 127回答 1
1回答

慕田峪7331174

这种方式呢:df.groupby(pd.cut(df['c1'],[0,2,4,6]))['c1'].mean().reset_index(drop=True)结果是 :0    1.51    3.52    5.0Name: c1, dtype: float64
随时随地看视频慕课网APP

相关分类

Python
我要回答