如何比较CSV文件的两列之间的时间增量?

时间:2019-02-25 22:22:16

标签: python pandas datetime timedelta

我有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中。无法弄清楚如何比较。

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

1 个答案:

答案 0 :(得分:1)

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

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

如果Pandas正确地推断出您的数据类型是日期时间,那么找到增量就很简单:

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

如果将其推断为字符串,则需要在减法之前将其显式转换为日期时间对象:

df['delta'] = pd.to_datetime(df['add']) - pd.to_datetime(df['time'])
相关问题