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
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
添加回答
举报