【发布时间】:2020-03-02 21:02:28
【问题描述】:
很难找到这方面的信息。我每天都会跟踪几次完成时间,以根据目标完成时间来衡量它们。
我正在将完成日期和时间读入 pandas 数据框中,并使用 df.map 映射完成时间字典以在数据框中创建“目标时间”列。
样本数据:
Date Process
1/2/2020 10:20:00 AM Test 1
1/2/2020 10:25:00 AM Test 2
1/3/2020 10:15:00 AM Test 1
1/3/2020 10:00:00 AM Test 2
使用 df.map() 创建包含目标时间的列:
goalmap={
'Test 1':dt.datetime.strptime('10:15', '%H:%M'),
'Test 2':dt.datetime.strptime('10:30', '%H:%M')}
df['Goal Time']=df['Process'].map(goalmap)
然后我尝试创建一个新的“Delta”列,以分钟为单位计算两者之间的时间差。我遇到的大多数问题都与数据类型有关。我通过使用 pd.to_datetime 转换第一列(日期)来计算时间差,但因为我的“目标时间”列不存储日期,它计算出一个巨大的增量(回到 1900 年)。我也尝试从日期时间列中解析时间,但无济于事。
仅计算时间戳之间差异的任何最佳方法?
【问题讨论】:
-
Goal Time是每个进程的时间量还是结束时间戳? -
@QuangHoang 目标时间应该是每天要完成的目标时间。例如 - 每天测试 1 应该在上午 10:15 之前完成。我试图捕捉到我们错过了多少/达到了目标时间。