Панды: Колонна datetime производит добавочные ошибочные даты, упорядочив, или которые нужно применить resample ()

я пробую упорядочивать колонну datetimes, у которого есть ранг между 2016-01-01 и 2019-02-14. Я извлекаю колонну с dataframe, который загружал бы отсюда (Данные). Одна из проблем, которые я нашел, состоит в том, что у дат нет единообразного тогда формата, загрузьте CSV как:

DATA=pd.read_csv('carpetas-de-investigacion-pgj- 
cdmx.csv',sep=';',parse_dates=['Fecha inicio'])

Позже я отделяю колонну "Дата инициализируюсь" и снимаю время, чтобы оставаться одиноким с датами:

tm=DATA[['Fecha inicio']]
tm['Fecha inicio']=tm['Fecha inicio'].dt.date
tm['Fecha inicio']=pd.to_datetime(tm['Fecha inicio'])

если я это делаю только, я получаю ранг дат, который идет с "2016-05-01: 2019-02-14" но ранг инициализируется под "2016-01-01", так что я упорядочиваю данные используя

tm.sort_values('Fecha inicio')

но сделав это, я получаю "2016-01-01: 2019-12-02" где действительно он начинается в "2016-01-01", но не заканчивается в 2019-12-02 а в "2019-02-14". Также я понял, что это производит мне проблемы несмотря на то, что, в применяется resample, потому что, сделав это, он как будто имело данные до "2019-12-02 (02/отрицательных приращений / 2019)", что не является возможным, потому что данные прибывают только до 14 февраля 2019. Я показываю далее код, когда я делаю пере-отбор проб и Ваш соответствующий plot:

df7=DATA.groupby(['Fecha inicio']) 
['Delito'].size().reset_index(name='No delitos').sort_values(by='Fecha 
inicio',ascending=True)

df7.set_index('Fecha inicio',inplace=True)

df7.resample('M').agg({'No delitos':sum}).replace(np.nan,0).plot()

это вывод предыдущего кода

introducir la descripción de la imagen aquí

Я понял, что формат дат первоначального dataframe они не являются однородными так как начиная с 2019 формат camabia. Уже попробуйте менять форматы вручную, но я получаю те же результаты. Я не знаю, как решать это. Я надеюсь, что это был просвет с моей проблемой, и смогите давать мне какие-то подсказки, чего он мог бы быть. Спасибо заранее.

0
задан 20.03.2019, 00:55
1 ответ

Пандас может заключать формат даты, включенный, когда данных нет homogГ©neos , как это этот случай.

Тестирует с ними следующий выборы, которые у него есть pd.read_csv:

DATA = pd.read_csv('carpetas-de-investigacion-pgj-cdmx.csv',
                   sep=';',
                   parse_dates=['Fecha inicio'],
                   infer_datetime_format=True,
                   dayfirst=True)

С infer_datetime_format=True, панд intentarГЎ приходить к заключению о формате даты.

С dayfirst=True, tomarГЎ формат DD/MM/AAAA для даты.

1
ответ дан 02.12.2019, 05:24
  • 1
    Совершенный, funcionó чуда. Он приносил два dí эксперт пытаясь и не salí в, но когда бы то ни было pensé в использовании твоей подсказки. Уже tambié n, сделав, я пере-показываю функционируй совершенно. Большое спасибо. – Rodrigo López 20.03.2019, 02:11