首页 > 解决方案 > 如何比较 CSV 文件的 2 列之间的时间增量?

问题描述

我有 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 个条目。我如何找到这两列之间的时间增量?

我将这两列存储在变量添加和修复中..无法弄清楚如何比较。

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

标签: pythonpandasdatetimetimedelta

解决方案


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

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

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

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

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

df['delta'] = pd.to_datetime(df['add']) - pd.to_datetime(df['time'])

推荐阅读