熊猫:计算df列之间的时间差[重复]

Posted

技术标签:

【中文标题】熊猫:计算df列之间的时间差[重复]【英文标题】:pandas: calculate time difference between df columns [duplicate] 【发布时间】:2016-01-20 13:45:33 【问题描述】:

我有两个带有字符串值的 df 列:

df['starttime']                           df['endtime']

0            2015-10-06 18:35:33            0            2015-10-06 18:35:58
1     2015-10-08 17:51:21.999000            1            2015-10-08 17:52:10
2     2015-10-08 20:51:55.999000            2            2015-10-08 20:52:21
3     2015-10-05 15:16:49.999000            3            2015-10-05 15:17:00
4     2015-10-05 15:16:53.999000            4            2015-10-05 15:17:22
5     2015-10-05 15:17:11.999000            5     2015-10-05 15:17:23.999000

我想计算这两列之间的差异

这是我尝试但失败的方法:

(df['starttime']-df['endtime']).astype('timedelta64[h]'))

unsupported operand type(s) for -: 'str' and 'str'

我认为 astype 会将 str 转换为 timedelta?

【问题讨论】:

您想先通过pd.to_datetime() 转换日期列,然后再进行比较? 【参考方案1】:

Convert the date strings to pandas.Timestamps:

df['starttime'] = pd.to_datetime(df['starttime'])
df['endtime'] = pd.to_datetime(df['endtime'])

那就拿差价:

df['starttime']-df['endtime']

unsupported operand type(s) for -: 'str' and 'str'

当您尝试减去两个包含字符串的系列时发生:

df['starttime']-df['endtime']

无需先将字符串转换为时间戳

【讨论】:

是的,就是这样。谢谢!

以上是关于熊猫:计算df列之间的时间差[重复]的主要内容,如果未能解决你的问题,请参考以下文章

计算熊猫列中唯一行的总数[重复]

如何用熊猫计算某些列的excel行号[重复]

Groupby - 具有重复值的熊猫 df 计数

熊猫。选择特定列[重复]

从熊猫的日期时间列中提取日期和小时[重复]

在熊猫数据框中创建重复列