首页 > 解决方案 > 将日期列中的相似时间合并为一个

问题描述

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

   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() 给出了奇怪的结果。

谢谢您的帮助。

标签: pythonpandaspandas-groupby

解决方案


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

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

推荐阅读