如何在 python 中减去 2 个日期时间列表

How to substract 2 datetime list in python

我在 excel(我在 Python 中使用 pandas 导入)中有 2 个不同的列,如下所示

data['issue created'] = ['12/31/2015 11:59:45 PM', '12/31/2015 11:59:44 PM', '12/31/2015 11:59:29 PM', '12/31/2015 11:59:29 PM']

data['issue closed']= ['12/31/2015 11:57:46 PM', '12/31/2015 11:56:58 PM', '12/31/2015 11:56:30 PM', '12/31/2015 11:55:32 PM']

我如何减去这 2 列以获得新的列,它给出了经过的时间?

data['elapsed duration'] = data['issue closed'] - data['issue created']

您需要将列转换为 datetime 类型。它们现在可能是 object 类型(本质上是 pandas 中的字符串)。

data['issue created'] = pd.to_datetime(data['issue created'])
data['issue closed'] = pd.to_datetime(data['issue closed'])

这会让你像你写的那样将它们减去一个新的列。

您需要先将日期列转换为实际日期:

df['issue created'] = pd.to_datetime(df['issue created'])
df['issue closed'] = pd.to_datetime(df['issue closed'])

df['elapsed time'] = df['issue created'] - df['issue closed']

输出:

>>> df
        issue created        issue closed    elapsed time
0 2015-12-31 23:59:45 2015-12-31 23:57:46 0 days 00:01:59
1 2015-12-31 23:59:44 2015-12-31 23:56:58 0 days 00:02:46
2 2015-12-31 23:59:29 2015-12-31 23:56:30 0 days 00:02:59
3 2015-12-31 23:59:29 2015-12-31 23:55:32 0 days 00:03:57