为了账号安全,请及时绑定邮箱和手机立即绑定

如何从 datetime 求出带有 group by date 的列的总和?

如何从 datetime 求出带有 group by date 的列的总和?

繁花如伊 2024-01-15 21:44:29
我想按日期计算列持续时间组的总和,但列的开始和结束是这段 df 中的日期时间:begin                       end                         duration2020-10-14 19:17:52.724020  2020-10-14 19:21:40.179003  227.452020-10-14 19:21:40.179003  2020-10-14 19:21:44.037103  3.862020-10-14 19:59:27.183161  2020-10-14 20:00:43.847816  76.662020-10-14 20:00:43.847816  2020-10-14 20:00:43.847822  02020-10-14 20:02:14.341240  2020-10-14 23:59:59.900000  14265.562020-10-15 00:00:00.000000  2020-10-15 05:25:32.935971  19532.942020-10-15 05:25:32.935971  2020-10-15 05:25:33.068959  0.13df.info()begin       41763 non-null  datetime64[ns] end         41763 non-null  datetime64[ns] duration    41763 non-null  float64   结果必须是:begin         duration2020-10-14    14,573.532020-10-15    19,533.07所以我尝试了我的所有 df,但它在某些日期有效,而在其他日期无效。因为我对 Excel 做了同样的事情,但对于某个日期,我得到了不同的结果。import pandas as pdimport datetimedf = df.groupby(df['begin_'].dt.date)['duration_'].sum()/3600
查看完整描述

2 回答

?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

date您可以使用日期时间对象的方法。将其应用到列中即可获得日期。之后分组就好了。


def reduce_to_date(value):

    return value.date()


df['begin'] = df['begin'].apply(reduce_to_date)


df.groupby('begin')['duration'].sum()/3600


查看完整回答
反对 回复 2024-01-15
?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

第一步是将您拥有的时间戳中的时间和日期分开。我在下面给出了示例,其中日期的定义方式与数据框中定义的方式相同。


0   2018-07-02 10:54:00 227.45

1   2018-07-02 10:54:00 3.86

2   2018-07-02 10:54:00 76.66

3   2018-07-02 10:54:00 14265.56

4   2018-07-02 10:54:00 19532.94


d ={'DATA':['2018-07-02 10:54:00','2018-07-02 10:54:00' , '2018-07-02 10:54:00' , '2018-07-02 10:54:00' ,'2018-07-02 10:54:00'],'duration': [227.45,3.86,76.66,14265.56,19532.94]}  

DF = df.assign(Date=df.Date.dt.date, Time=df.Date.dt.time, Duration = df.duration)

下一步是按照groupby您的方式进行操作,但只需简单地提供有关分组依据的变量的信息:


DF.groupby(['Date']).sum()

这给了


Date        Duration     duration

2018-07-02  34106.47    34106.47


查看完整回答
反对 回复 2024-01-15
  • 2 回答
  • 0 关注
  • 24 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信