如何在Pandas中计算两Timestamp列的秒级时间差并新增列
Pandas计算Timestamp列时间差(秒)并新增列的方法
前提说明
已知你的DataFrame中A、B列均为Timestamp格式,可直接进行时间差计算。
实现步骤
核心代码(直接计算新增列)
利用Pandas对Timestamp类型的原生支持,直接做减法得到时间间隔,再转换为总秒数:# 计算A与B的时间差(单位:秒),新增为C列 df['C'] = (df['A'] - df['B']).dt.total_seconds()示例验证(含数据构造)
如果需要测试,可先构造对应格式的DataFrame(若你的数据已为Timestamp可跳过转换步骤):import pandas as pd # 构造示例数据 data = { 'A': ['Wed Jul 31 07:09:48 EDT 2024', 'Wed Jul 31 07:26:31 EDT 2024'], 'B': ['Wed Jul 31 07:04:35 EDT 2024', 'Wed Jul 31 07:21:04 EDT 2024'] } df = pd.DataFrame(data) # 转换为Timestamp格式(若已有该格式可省略) df['A'] = pd.to_datetime(df['A']) df['B'] = pd.to_datetime(df['B']) # 计算时间差并新增列 df['C'] = (df['A'] - df['B']).dt.total_seconds()
结果说明
运行后C列会显示每行A与B的时间差总秒数:
- 第一行结果为
313(对应5分13秒) - 第二行结果为
327(对应5分27秒)
内容的提问来源于stack exchange,提问作者user3555115
相关产品推荐
相关产品推荐

