首页 > 解决方案 > 如何将字符串中的时间转换为日期时间格式,以便获得两列之间的差异

问题描述

我有一个数据框,其中有两列时间不同的字符串格式,我想找出两列之间的差异,所以我使用以下代码

operational_data_clean['Pick/pack start-time'] = pd.to_datetime(operational_data_clean['Pick/pack start-time'])

operational_data_clean['Flight launched-time'] = pd.to_datetime(operational_data_clean['Flight launched-time'])

operational_data_clean['time_to_launch'] = 0

operational_data_clean['time_to_launch'] = operational_data_clean['Flight launched-time'] - operational_data_clean['Pick/pack start-time']

但是当我第一次运行这段代码时,我得到了很好的结果,但是当我第二次运行它时,它会在“Pick/pack start-time”和“Flight launch-time”值上添加今天的日期。

我怎样才能将这个时间只转换为几个小时,而不会得到弄乱我的数据的日期。

标签: pythonpandasdatetime

解决方案


我假设您正在使用 jupyter notebook 运行您的代码。

当您执行代码时,您的变量operational_data_clean['Pick/pack start-time']变为pd.to_datetime(operational_data_clean['Pick/pack start-time']).

因此,当您再次执行该块时,jupyter 会记住您的变量,因此将再次执行相同的功能,本质上是这样做的 pd.to_datetime(pd.to_datetime(operational_data_clean['Pick/pack start-time']))

至于pd.to_datetime()它本身,我建议查看 pandas docs


推荐阅读