所以我有一个pandas数据框,它每10分钟接收/流出接口流量。我想将两个时间序列汇总到每小时的时段中进行分析。似乎很简单的事情实际上对我来说是非常具有挑战性的!只需将其放入每小时的垃圾箱中
times = list()
ins = list()
outs = list()
for row in results['results']:
times.append(row['DateTime'])
ins.append(row['Intraffic'])
outs.append(row['Outtraffic'])
df = pd.DataFrame()
df['datetime'] = times
df['datetime'] = pd.to_datetime(df['datetime'])
df.index = df['datetime']
df['ins'] = ins
df['outs'] = outs
我尝试使用
df.resample('H').mean()
我尝试过熊猫
groupby
但是在两列上都遇到麻烦,并且无法在小时时段获得平均值
答案 0 :(得分:0)
我相信这应该可以满足您的要求:
df = pd.DataFrame()
df['datetime'] = times
df['datetime'] = pd.to_datetime(df['datetime'])
df.set_index('datetime',inplace=True) # This won't try to remap your rows
new_df = df.groupby(pd.Grouper(freq='H')).mean()
最后一行根据索引将时间戳数据按小时分组,然后吐出一个新的DataFrame并带有每列的平均值。