Pandas:仅每分钟更新一秒数据的滚动平均值

2024-04-25 12:23:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧,其中数据行的间隔为1秒,因此08:00:00、08:00:01等。我希望在10分钟内进行滚动平均,但我只希望滚动平均每分钟更新一次。所以08:10:00-08:10:59的滚动平均值都是相同的值,然后在8:11:00,它将在下一分钟更新为新值

目前,我正在使用以下行计算每秒更新的滚动平均值:

df['counts-avg'] = df['counts'].rolling(window=600).mean()

Tags: 数据df间隔windowmeanavg平均值rolling
1条回答
网友
1楼 · 发布于 2024-04-25 12:23:11

我有另一列用于秒值,称为df['sec']。我得到了秒=0(每分钟的第0秒)的行的索引,并用np.nan替换了每一行。然后我使用fillna(method='ffill')向下复制值

df['counts-avg'] = df['counts'].rolling(window=600).mean()
erase_idx = df[df['sec'] > 0].index.values
ma = df['counts-avg']
ma.loc[erase_idx] = np.nan
ma = ma.fillna(method='ffill')

相关问题 更多 >