【发布时间】:2021-02-09 11:13:14
【问题描述】:
我想按日期对列持续时间组求和,但在这段 df 中列开始和结束是日期时间:
begin end duration
2020-10-14 19:17:52.724020 2020-10-14 19:21:40.179003 227.45
2020-10-14 19:21:40.179003 2020-10-14 19:21:44.037103 3.86
2020-10-14 19:59:27.183161 2020-10-14 20:00:43.847816 76.66
2020-10-14 20:00:43.847816 2020-10-14 20:00:43.847822 0
2020-10-14 20:02:14.341240 2020-10-14 23:59:59.900000 14265.56
2020-10-15 00:00:00.000000 2020-10-15 05:25:32.935971 19532.94
2020-10-15 05:25:32.935971 2020-10-15 05:25:33.068959 0.13
df.info()
begin 41763 non-null datetime64[ns]
end 41763 non-null datetime64[ns]
duration 41763 non-null float64
结果必须是:
begin duration
2020-10-14 14,573.53
2020-10-15 19,533.07
所以我尝试了我所有的 df,但它在某些日期有效,而在其他日期无效。因为我对 excel 做同样的事情,而在某个日期我得到了不同的结果。
import pandas as pd
import datetime
df = df.groupby(df['begin_'].dt.date)['duration_'].sum()/3600
【问题讨论】:
-
this but its works for certain date and no for other.- 你能添加一些不工作的行吗? -
是的,但是在我需要删除它之后
-
我不能它太大了......
-
您需要提出问题的minimal reproducible example,否则这似乎无法重现
标签: python pandas datetime pandas-groupby