我有这样一个数据集:
data = pd.DataFrame({'order_date-time':['2017-09-13 08:59:02', '2017-06-28 11:52:20', '2018-05-18 10:25:53', '2017-08-01 18:38:42', '2017-08-10 21:48:40','2017-07-27 15:11:51',
'2018-03-18 21:00:44','2017-08-05 16:59:05', '2017-08-05 16:59:05','2017-06-05 12:22:19'],
'delivery_date_time':['2017-09-20 23:43:48', '2017-07-13 20:39:29','2018-06-04 18:34:26','2017-08-09 21:26:33','2017-08-24 20:04:21','2017-08-31 20:19:52',
'2018-03-28 21:57:44','2017-08-14 18:13:03','2017-08-14 18:13:03','2017-06-26 13:52:03']})
我想计算这些日期之间的时间差作为天数,并将其添加到表中作为交货延迟列。但是我需要包括计算的日期和时间 例如,如果差值为7天14:44:46,我们可以将其四舍五入为7天
Python的
datetime
库很适合处理单个时间戳。但是,如果您的数据在pandas DataFrame
中,就像您的案例一样,那么您应该使用pandas
日期时间功能要将带有时间戳的列从stings转换为正确的datetime格式,可以使用
pandas.to_datetime()
:format
参数是可选的,但我认为始终使用它来确保datetime格式没有被错误地“解释”是一个好主意。它还使处理大型数据集的过程更快一旦有了datetime格式的列,就可以简单地计算它们之间的
timedelta
:最后,如果你想取整这个时间差,那么
pandas
又有了正确的方法:当额外的
dt
允许访问特定于datetime
的方法时,round函数将frequency
作为参数,在这种情况下,使用'd'
将频率设置为一天您可以使用它将字符串转换为DateTime格式,并将其放入变量中,然后进行计算
访问https://www.journaldev.com/23365/python-string-to-datetime-strptime/
相关问题 更多 >
编程相关推荐