【发布时间】:2017-06-10 05:13:53
【问题描述】:
我有 2 个熊猫系列,每个都包含一个字符串:
times = pd.DataFrame({'bedtime': ['23:00', '0:30', '1:00'], 'waketime': ['6:00', '6:00', '4:00']})
print(times)
bedtime waketime
0 23:00 6:00
1 0:30 6:00
2 1:00 4:00
我想计算时间之间的差异(基本上是睡眠时间),但是我没有日期信息,所以有点问题
我首先将每个系列转换为日期时间:
FMT = "%H:%M"
bedtime = pd.to_datetime(times["bedtime"], format=FMT)
waketime = pd.to_datetime(times["waketime"], format=FMT)
这个过程在时间上添加了一个日期,我不想要:
print(bedtime)
1900-01-01 23:00:00
1900-01-01 00:30:00
1900-01-01 01:00:00
由于添加了日期,时间增量偶尔会偏移一天:
hours_in_bed = waketime - bedtime
print(hours_in_bed)
-1 days +07:00:00
05:30:00
03:00:00
当不需要实际日期时,计算时间增量的正确方法是什么?我基本上只是想计算从睡觉到起床的时间小时
我已经看到有关如何从 datetime 对象中删除日期的其他问题,但在这里我更关心的是更正/删除时间增量中的 1 天班次
【问题讨论】:
标签: python datetime pandas timedelta