ошибка в расчете минут из timedelta объектов в пандах - PullRequest
0 голосов
/ 05 января 2019

Я пытался вычислить минуты, вычитая два столбца. Но появляется сообщение об ошибке: «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 голосов
/ 05 января 2019

По моему мнению, в некотором столбце есть некоторые значения 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
...