reindexar para agregar fechas faltantes al dataframe pandas

Intento analizar un archivo CSV que se ve así:

dd.mm.yyyy value 01.01.2000 1 02.01.2000 2 01.02.2000 3 

Necesito agregar las fechas que faltan y completar los valores correspondientes con NaN . Utilicé Series.reindex como en esta pregunta :

 import pandas as pd ts=pd.read_csv(file, sep=';', parse_dates='True', index_col=0) idx = pd.date_range('01.01.2000', '02.01.2000') ts.index = pd.DatetimeIndex(ts.index) ts = ts.reindex(idx, fill_value='NaN') 

Pero en consecuencia, los valores para ciertas fechas se intercambian debido al formato de fecha (es decir, mm / dd en lugar de dd / mm):

 01.01.2000 1 02.01.2000 3 03.01.2000 NaN ... ... 31.01.2000 NaN 01.02.2000 2 

Intenté varias formas (es decir, agregar dayfirst=True a read_csv ) para hacerlo bien, pero aún no puedo entenderlo. Por favor ayuda.

Establezca parse_dates en la primera columna con parse_dates=[0] :

 ts = pd.read_csv(file, sep=';', parse_dates=[0], index_col=0, dayfirst=True) idx = pd.date_range('01.01.2000', '02.01.2000') ts.index = pd.DatetimeIndex(ts.index) ts = ts.reindex(idx, fill_value='NaN') print(ts) 

huellas dactilares:

  value 2000-01-01 1 2000-01-02 2 2000-01-03 NaN ... 2000-01-31 NaN 2000-02-01 3 

parse_dates=[0] le dice a pandas que parse_dates=[0] explícitamente la primera columna como fechas. De los documentos:

parse_dates: boolean, lista de nombres o nombres, lista de listas o dict

Si es verdadero -> intente analizar el índice.

Si [1, 2, 3] -> intente analizar las columnas 1, 2, 3 cada una como una columna de fecha separada.

Si [[1, 3]] -> combine las columnas 1 y 3 y analice como una sola columna de fecha.

{‘foo’: [1, 3]} -> analizar las columnas 1, 3 como fecha y resultado de la llamada ‘foo’

Existe una ruta rápida para las fechas con formato iso8601.