Дата, преобразованная с помощью pandas pd.to_datetime(..).dt.strftime(...) как NANPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Дата, преобразованная с помощью pandas pd.to_datetime(..).dt.strftime(...) как NAN

Сообщение Anonymous »

Я пытался преобразовать столбец с датами из фрейма данных в формат %d%m%Y.
Все работает правильно, за исключением даты '9999- 12-31', которое указано в документации как допустимое значение. Но он преобразуется в «NaN» или «NaT» с помощью двух вариантов кода, хотя в журнале указано, что преобразование сработало правильно.
Я попробовал два варианта:df[column_name] = pd.to_datetime(df[column_name], dayfirst=True, errors='coerce').dt.strftime('%d/%m/%Y')

Этот первый вариант меняет значение на NaN
df[column_name]= pd.to_datetime(df[column_name],format='%d/%m/%Y', errors='coerce')

Этот второй вариант меняет значение на NaT.
Может ли кто-нибудь объяснить мне причину?
Спасибо.CSV необходимо читать с кодировкой Latin1 и знаком ';' разделитель.
df = pd.read_csv(file_path, delimiter=';', encoding='latin1')

Это первые строки в виде строки:
Infraccio_Codi Infraccio_Desc_Curta_CA Infraccio_Desc_Curta_ES Infraccio_Desc_Llarga_CA Infraccio_Desc_Llarga_ES Data_Inici_Vigencia Data_Fi_Vigencia Article Normativa Import_Nominal_? Tipus_Infraccio Punts_A_Retirar Autoritat
0 910 NO IDENTIFIC CONDUCT RESPONS INFRACCIO NO IDENTIFIC CONDUCT RESPONS INFRACCION NaN - 2005-03-16 9999-12-31 77. J LSV 301 E 0 Il.lm./a Sr./a Regidor/a del Districte
1 912 NO IDENTIFICAR EL CONDUCTOR RESPONSABLE DE LA INFRACCIO NO IDENTIFICAR AL CONDUCTOR RESPONSABLE DE LA INFRACCION NaN - 1900-01-03 9999-12-31 77. J LSV 301 E 0 Il.lm./a Sr./a Regidor/a del Districte
2 913 NO IDENTIFICAR EL CONDUCTOR RESPONSABLE DE LA INFRACCIO NO IDENTIFICAR AL CONDUCTOR RESPONSABLE DE LA INFRACCION NaN - 1900-01-03 9999-12-31 77. J LSV 1000 E 0 Il.lm./a Sr./a Regidor/a del Districte
3 1001 INSTAL SENYAL V PUB SENSE PERMIS O CAUSA INSTAL SENAL V PUBL SIN PERMISO O CAUSA Instal.lar senyalitzacio en una via publica sense autoritzacio municipal o sense causa greu que ho justifiqui - 2003-05-21 9999-12-31 73.C A OCVV 90 E 0 Il.lm./a Sr./a Regidor/a del Districte

Я добавляю образец своих данных в формате json:
[{"Codi":910,"Infraccio_Desc_Curta_CA":"NO IDENTIFIC CONDUCT RESPONS INFRACCIO","Infraccio_Desc_Curta_ES":"NO IDENTIFIC CONDUCT RESPONS INFRACCION","Infraccio_Desc_Llarga_CA":null,"Infraccio_Desc_Llarga_ES":"-","Data_Inici_Vigencia":1110931200000,"Data_Fi_Vigencia":null,"Article":"77. J","Normativa":"LSV","Import_Nominal_?":301,"Tipus_Infraccio":"E","Punts_A_Retirar":0,"Autoritat":"Il.lm.\/a Sr.\/a Regidor\/a del Districte"},{"Codi":912,"Infraccio_Desc_Curta_CA":"NO IDENTIFICAR EL CONDUCTOR RESPONSABLE DE LA INFRACCIO","Infraccio_Desc_Curta_ES":"NO IDENTIFICAR AL CONDUCTOR RESPONSABLE DE LA INFRACCION","Infraccio_Desc_Llarga_CA":null,"Infraccio_Desc_Llarga_ES":"-","Data_Inici_Vigencia":-2208816000000,"Data_Fi_Vigencia":null,"Article":"77. J","Normativa":"LSV","Import_Nominal_?":301,"Tipus_Infraccio":"E","Punts_A_Retirar":0,"Autoritat":"Il.lm.\/a Sr.\/a Regidor\/a del Districte"},{"Codi":913,"Infraccio_Desc_Curta_CA":"NO IDENTIFICAR EL CONDUCTOR RESPONSABLE DE LA INFRACCIO","Infraccio_Desc_Curta_ES":"NO IDENTIFICAR AL CONDUCTOR RESPONSABLE DE LA INFRACCION","Infraccio_Desc_Llarga_CA":null,"Infraccio_Desc_Llarga_ES":"-","Data_Inici_Vigencia":-2208816000000,"Data_Fi_Vigencia":null,"Article":"77. J","Normativa":"LSV","Import_Nominal_?":1000,"Tipus_Infraccio":"E","Punts_A_Retirar":0,"Autoritat":"Il.lm.\/a Sr.\/a Regidor\/a del Districte"}]


Подробнее здесь: https://stackoverflow.com/questions/791 ... ime-as-nan
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»