如何解决Python:使用活动的经过时间进行计算
我有以下活动的已用时间数据:
有没有办法将每个活动的经过时间相加,使活动 A 的总经过时间为 08:15:00 和 B 的总经过时间为 02:30:00?非常感谢大家的帮助。
注意:到目前为止,我在 stackoverflow 上没有找到任何解决方案。时间测量的格式由第三方提供,原始数据帧很大,这意味着时间测量的转换,例如通过 for 循环需要很长时间。
解决方法
您可以使用 pd.to_timedelta()
和 groupby
import pandas as pd
d = [['A','08:00:00'],['B','02:00:00'],['A','00:15:00'],'00:30:00']]
df = pd.DataFrame(d,columns=['Activity','Time'])
df['Time'] = pd.to_timedelta(df['Time'])
df.groupby(['Activity']).sum()
Activity Time
A 0 days 08:15:00
B 0 days 02:30:00
如果你不想在决赛中度过几天,那么
import re
df2 = df.groupby(['Activity']).sum()
df2['Time'] = df2['Time'].apply(lambda x: re.findall(r'days (.*)',str(x))[0])
df2
Activity Time
A 08:15:00
B 02:30:00
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。