熊猫 | 如何获取包含时间戳的两列之间的时间差(以秒为单位)

Ter*_*rst 6 python excel pandas

我有两列都包含时间,我需要得到两个时间的差值。我想将每行时间戳的差异添加到新列“time_diff”中。时间间隔仅为 10-30 秒,因此我需要 time_diff 列以秒为单位的差异(例如这种格式 00:00:07)。

我真的很挣扎,这是为了我的工作,这有点不符合我的风格。非常感谢所有的答案。

两列的格式示例

开始时间 | 时间结束


00:06:34 00:06:45

00:06:59 00:07:02

00:07:36 00:07:34

Dhi*_*sal 8

首先将它们转换为日期时间格式,如下所示:

df['start'] = pd.to_datetime(df['start'])
df['end'] = pd.to_datetime(df['end'])
Run Code Online (Sandbox Code Playgroud)

然后,您可以执行减法运算:

df['diff'] = df['end']-df['start']
Run Code Online (Sandbox Code Playgroud)

这将为您提供 HH:MM:SS 格式的答案

如果您只想在几秒钟内找到答案(它将给出总差异秒数的输出)

df['diff'] = (df['end']-df['start']).dt.total_seconds()
Run Code Online (Sandbox Code Playgroud)


小智 1

您应该能够假设df["difference"] = df["end_time"] - df["start_time"]您的列不是字符串。如果是这种情况,您可以使用pandas.to_datetime()将列转换为日期时间。https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.to_datetime.html