pandas的滚动平均值是如何计算的?

qacovj5a  于 2023-04-19  发布在  其他
关注(0)|答案(1)|浏览(198)

希望这不是一个愚蠢的问题...但我有一个项目,每隔大约一秒将数据记录到pandas df中,用于几列数字传感器值和一列时间戳。项目要求以5分钟的滚动平均值获取数据,运行一些故障检查,然后清除 Dataframe 。
如果我在故障检查后每5分钟清除一次数据(基本上只使用Pandas进行滚动平均功能),我仍然需要这个:

df['timestamp'] = pd.to_datetime(df['timestamp'])
df = df.set_index("timestamp")
df = df.rolling("5T").mean()

或者对于我的列,我可以只取列均值而不是最后5分钟的数据吗?

for col in df.columns:
    print(f"df column: {col} - {df[col].mean()}")

现在我正在重新思考5分钟数据的5分钟滚动平均值是什么。我认为这是但可能是错误的,5分钟数据的5分钟滚动平均值将把数据框归结为表示前5分钟平均值的单行数据。
任何提示赞赏!也许Pandas是不是一个很好的应用程序,这只是使用一个列表会更好。

hec6srdp

hec6srdp1#

使用pandas resample将数据分组为不重叠的五分钟间隔,并使用mean()方法计算每个间隔内每列的平均值。

df['timestamp'] = pd.to_datetime(df['timestamp'])
df = df.set_index("timestamp")
mean_df = df.resample('5T').mean()

相关问题