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
添加回答
舉報