熊猫:计算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列之间的时间差[重复]的主要内容,如果未能解决你的问题,请参考以下文章