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
首先将它们转换为日期时间格式,如下所示:
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