панды считывают дату csv в виде строки, представляющей собой 5-значное число

#pandas #csv #datetime

Вопрос:

У меня есть дата в формате .csv в формате ГГГГ-ММ-ДД. Панды читают его как строку, но вместо формата, показанного в csv, он читается как 5-значное число, закодированное как строка.

Я пытался:

 pd.to_datetime(df['alert_date'], unit = 's')
pd.to_datetime(df['alert_date'], unit = 'D')
 

Я также пытался вызвать его, чтобы прочитать его как строку и позволить синтаксическому анализатору даты взять верх. Смотреть ниже:

 dtype_dict = {'alert_date':'str','lossdate1':'str', 'lossdate2':'str',
              'lossdate3':'str', 'lossdate4':'str', 'lossdate5':'str',
              'effdate':'str'}
parse_dates = ['lossdate1', 'lossdate2', 'lossdate3', 
               'lossdate4', 'lossdate5', 'effdate']
df  = pd.read_csv("Agent Alerts Earned and Incurred with Loss Dates as of Q3 2021.csv",
                  encoding='latin1', dtype = dtype_dict, parse_dates=parse_dates)
 

Я не уверен, что еще попробовать или что в этом плохого для начала.

Вот пример того, как выглядят эти данные.

 alertflag,alert_type,alert_date,effdate,cal_year,totalep,eufactor,product,NonCatincrd1,Catincrd1,lossdate1,NonCatcvrcnt1,Catcvrcnt1,NonCatincrd2,Catincrd2,lossdate2,NonCatcvrcnt2,Catcvrcnt2,NonCatincrd3,Catincrd3,lossdate3,NonCatcvrcnt3,Catcvrcnt3,NonCatincrd4,Catincrd4,lossdate4,NonCatcvrcnt4,Catcvrcnt4,NonCatincrd5,Catincrd5,lossdate5,NonCatcvrcnt5,Catcvrcnt5,incurred
1,CANCEL NOTICE,2019-06-06,2018-12-17,2019,91.00,0.96,444,,,,,,,,,,,,,,,,,,,,,,,,,,
 

В alert_date этой записи указано 21706.

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

1. Можете ли вы поделиться образцом содержимого csv-файла?

2. Вопрос отредактирован с добавлением примера данных

3. С вашим образцом он отлично работает на моем компьютере. Вы уверены, что дата во всех строках указана в формате ГГГГ-ММ-ДД?

4. Я думаю, что не все строки по 300 тысяч. я предположил, так как голова и хвост были