【发布时间】:2020-09-27 13:41:24
【问题描述】:
我正在尝试计算两个日期时间对象之间的差异,但它只返回天之间的差异,而不是小时/分钟/秒之间的差异。
这是我的代码:
import pandas as pd
import datetime as dt
df = pd.read_csv(r'recorridos-realizados-2020.csv')
df.head(2)
Id_start start_date end_date Id_end ID_cyclist
75 2020-09-14 11:52:21 2020-09-14 11:58:10 186.0 155721
210 2020-09-14 11:51:41 2020-09-14 11:53:06 210.0 191320
df['start_date'] = pd.to_datetime(df['start_date'], format='%Y-%m-%d %H:%M:%S')
df['end_date'] = pd.to_datetime(df['end_date'], format='%Y-%m-%d %H:%M:%S')
df['timelapse'] = df['end_date'] - df['start_date']
df['timelapse'].head()
0 0 days
1 0 days
结果应该是: 0 天,00:05:49 0 天,00:01:25
我做错了什么?
【问题讨论】:
-
df['timelapse'].dt.total_seconds()是否为您提供正确的值? p.s.pd.to_datetime正确解析 ISO 格式,您不必提供格式。 -
df['timelapse'].dt.total_seconds() 每行给我 0.0。感谢您对 pd.to_datetime 的建议。
-
您的代码对我有用。我也得到了秒数:
0 0 days 00:05:49 1 0 days 00:01:25你使用的是什么版本的 python 和 pandas?