【发布时间】:2017-09-18 03:46:23
【问题描述】:
我有一个 pandas 数据框,其中包含带有时间索引(以秒为单位)的原始心率数据。
我正在尝试对数据进行分类,以便获得用户定义窗口的平均值(例如 10 秒) - 不是滚动平均值,只是 10 秒的平均值,然后是 10 秒的平均值,等等。
import pandas as pd
hr_raw = pd.read_csv('hr_data.csv', index_col='time')
print(hr_raw)
heart_rate
time
0.6 164.0
1.0 182.0
1.3 164.0
1.6 150.0
2.0 152.0
2.4 141.0
2.9 163.0
3.2 141.0
3.7 124.0
4.2 116.0
4.7 126.0
5.1 116.0
5.7 107.0
使用上面的示例数据,我希望能够设置用户定义的窗口大小(让我们使用 2 秒)并生成一个新的数据帧,该数据帧的索引为 2 秒增量并在时间下降时平均“heart_rate”值进入该窗口(并且应该继续到数据框的末尾)。
例如:
heart_rate
time
2.0 162.40
4.0 142.25
6.0 116.25
我似乎只能找到根据预定数量的箱(例如制作直方图)对数据进行分箱的方法,而这只返回计数/频率。
谢谢。
【问题讨论】:
标签: python pandas dataframe group-by binning