如何在Pandas数据框中按小时将行分组?

时间:2019-04-13 09:04:20

标签: python dataframe pandas-groupby

我有一个包含以下数据的数据框:

        kwh              time
0   0.217413    2019-04-09 17:00:00+00:00

1   4.133414    2019-04-09 18:00:00+00:00

2   5.154745    2019-04-09 19:00:00+00:00

3   2.497526    2019-04-09 20:00:00+00:00

数据表示每小时千瓦时。我正在尝试按一天中的小时分组,以便显示:

  hour of day   sumkwh
    0             4
    1             5
    2             3
    23            6

我尝试了一些选择,但目前仍无法解决。

s = df.groupby(df.time.hour).sum()

---> AttributeError: 'Series' object has no attribute 'hour'

这怎么办?

1 个答案:

答案 0 :(得分:0)

尝试使用此代码作为我的帮助:

import pandas as pd
data = [[0, 0.217413, "2019-04-09 17:00:00"], [1, 4.133414, "2019-04-09 18:00:00"], 
[2, 5.154745, "2019-04-09 19:00:00"], [3, 2.497526, "2019-04-09 20:00:00"]]
df = pd.DataFrame(data=data, index=[0, 1, 2, 3], columns=["indx", "kwh", "hour"])
times = pd.DataFrame(data=pd.to_datetime(df["hour"]), columns=["hour"])
df.groupby(times.hour).sum()