我发现了这个:Group DataFrame in 5-minute intervals。效果很好,但是我的问题是我有第二个值Altitude,这很重要,因此重采样代码无效。
我想为不同的海拔高度创建10分钟的平均值。数据集如下:
有没有一种方法可以通过groupby创建它?通过重新采样,我得到了:
问题在于,我在海拔高度上也很卑鄙。
答案 0 :(得分:0)
您可以使用Series.dt.floor
自己组成小组,除海拔高度外,还可以将其分组:
样本数据
import pandas as pd
import numpy as np
df = pd.DataFrame({'Timestamp': pd.date_range('2019-04-04', freq='1.345min',
periods=20),
'Altitude': [1, 2]*10,
'val1': np.random.randint(1, 10, 20)})
df.groupby([df.Timestamp.dt.floor('10min'), 'Altitude']).mean()
val1
Timestamp Altitude
2019-04-04 00:00:00 1 5.000000
2 3.250000
2019-04-04 00:10:00 1 5.000000
2 4.333333
2019-04-04 00:20:00 1 6.500000
2 5.000000