按小时索引汇总数据框列

时间:2019-08-08 23:25:32

标签: python pandas

所以我有一个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 

但是在两列上都遇到麻烦,并且无法在小时时段获得平均值

1 个答案:

答案 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并带有每列的平均值。