从熊猫数据框中的timedelta对象计算分钟时出错

时间:2019-01-05 12:00:02

标签: python-3.x pandas datetime timedelta

我尝试通过减去两列来计算分钟。但是出现一个错误,即“ ValueError:不带数字的单位缩写”。 但是,我在两个不同的列上尝试了类似的操作,但还是有效。

我尝试计算arr_delay,但是没有错误。但是当我尝试计算dep_delay时出现错误。

data['arr_delay'] = (pd.to_timedelta(data.ATA) - pd.to_timedelta(data.STA)).dt.total_seconds()/60
data['dep_delay'] = (pd.to_timedelta(data.ATD) - pd.to_timedelta(data.STD)).dt.total_seconds()/60

我能够计算arr_delay。但是在计算dep_delay时出现错误,它是:-“ ValueError:单位缩写,没有数字”

Data Sample

1 个答案:

答案 0 :(得分:1)

我认为某列中有一些bad值,因此请使用参数errors='coerce'将这些值转换为NaT

data['dep_delay'] = (pd.to_timedelta(data.ATD, errors='coerce') - 
                     pd.to_timedelta(data.STD, errors='coerce')).dt.total_seconds()/60