我有一个包含以下数据的数据框:
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'
这怎么办?
答案 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()