将“日期”列中的类似时间合并为一个

时间:2019-01-30 21:47:47

标签: python pandas pandas-groupby

我有一个看起来像这样的数据框。

   Date                   MW
0 2017-01-01 09:00:00      1
1 2017-01-01 09:00:00      1
2 2017-01-01 09:00:00      1
3 2017-01-01 10:00:00      1
4 2017-01-01 10:00:00      1

我想为所有重复的小时加起来的值,并将其转换为单行。例如,对于09:00:00,最终值应为3 MW。

我尝试了groupby,但它说缺少数据集中未存在的小时数的值。另外,df.resample('H')。sum()给出了奇怪的结果。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

为什么在分组依据时不将日期时间视为字符串?

df = pd.DataFrame({'Date':['2017-01-01 09:00:00','2017-01-01 09:00:00','2017-01-01 10:00:00','2017-01-01 10:00:00'],
              'MW':[1,2,1,1]})
df['Date'] = pd.to_datetime(df1['Date'])
df.groupby('Date', as_index=False).sum()

输出:

                  Date  MW
0  2017-01-01 09:00:00   3
1  2017-01-01 10:00:00   2