【发布时间】:2021-11-09 00:41:26
【问题描述】:
我有一个长格式的数据框,其中包含多个变量的 15 分钟间隔数据。如果我应用重采样方法来获取平均每日值,我会得到给定时间间隔内所有变量的平均值(而不是速度、距离的平均值)。
有谁知道如何重新采样数据框并保留 2 个变量?
注意:下面的代码包含一个长格式的示例数据帧,我的真实示例从 csv 加载数据并且变量的时间间隔和频率不同,因此我不能简单地重新采样宽格式的数据帧。
import pandas as pd
import numpy as np
dti = pd.date_range('2015-01-01', '2015-12-31', freq='15min')
df = pd.DataFrame(index = dti)
# Average speed in miles per hour
df['speed'] = np.random.randint(low=0, high=60, size=len(df.index))
# Distance in miles (speed * 0.5 hours)
df['distance'] = df['speed'] * 0.25
df.reset_index(inplace=True)
df2 = df.melt (id_vars = 'index')
df3 = df2.resample('d', on='index').mean()
【问题讨论】: