timedelta в целые числа, игнорируя значения NaT в фрейме данных python pandas

#python #datetime #integer #timedelta

Вопрос:

Я создал столбец timedelta и получил пару значений NaT, они на самом деле важны для меня, чтобы сохранить. Теперь я хочу преобразовать свою временную шкалу, которая теперь выглядит так: 234 дня и значения NaT. Я хочу получить целые числа. Это код до сих пор:

 reports['delinquency_free_time'] = reports['delinquency_free_time'].dt.total_seconds().astype(int)
 

Ошибка значения: Не удается преобразовать неконечные значения (NA или inf) в целочисленные

Пожалуйста, обратите внимание, что дни вместо total_seconds также не работали

Комментарии:

1. Если вам действительно нужно использовать int dtype, вы все равно можете это сделать, но вам нужно будет определить идентификатор «не-номер», т. Е. значение, значение которого, как вы знаете, будет недопустимым в вашем тексте, например -9999 , или что-то подобное. Просто добавьте fillna «до astype(int) «.

Ответ №1:

хорошо, я кое-что понял: я могу не конвертировать в int, но я могу конвертировать в float.

Комментарии:

1. См., например en.wikipedia.org/wiki/NaN#Integer_NaN