如何比较CSV文件的2列之间的timedelta?

问题描述 投票:-1回答:1

我有2行数据,如下所示(第8行和第9行)....

 2018-01-03T10:14:32.000Z
 2018-01-03T09:40:35.000Z
 2018-01-03T10:17:13.000Z
 2018-01-03T10:00:39.000Z
 2018-01-03T10:16:53.000Z
 2018-01-03T09:54:24.000Z
 2018-01-03T10:18:37.000Z
 2018-01-03T10:19:54.000Z
 2018-01-03T09:52:40.000Z
 2018-01-03T10:14:49.000Z
 2018-01-03T10:16:35.000Z

码:

df = pd.read_csv('Plaku_City_Service_Requests_in_2018.csv', 
                 usecols = [8,9],
                 names = ['add', 'fix'])

df['delta'] = df['add'] - df['fix']

我收到了错误

此CSV文件中有330,000个条目..如何找到这两个列之间的时间间隔?

我将这两列存储在变量add和fix中。无法弄清楚如何比较。

任何帮助都会很棒,谢谢!

python pandas datetime timedelta
1个回答
1
投票

将CSV中的两列读入一个DataFrame似乎是合适的,而不是两个单独的:

df = pd.read_csv('2018.csv', usecols=[8, 9], names=['add', 'fix'])

如果Pandas正确地推断出您的数据类型是datetime,那么查找增量就像下面这样简单:

df['delta'] = df['add'] - df['fix']

但是,如果将它们推断为字符串,则需要在减法之前显式转换为datetime对象:

df['delta'] = pd.to_datetime(df['add']) - pd.to_datetime(df['time'])
© www.soinside.com 2019 - 2024. All rights reserved.