Val ts year doy interpolat region_id 2000-02-18 NaN 950832000 2000 49 NaN 19987 2000-03-05 NaN 952214400 2000 65 NaN 19987 2000-03-21 NaN 953596800 2000 81 NaN 19987 2000-04-06 0.402539365 954979200 2000 97 NaN 19987 2000-04-22 0.54021746 956361600 2000 113 NaN 19987
El dataframe anterior tiene un índice de fecha y hora. Lo remuestro así:
df = df.resample('D')
Sin embargo, este remuestreo resulta en este dataframe:
ts year doy interpolat region_id 2000-01-01 1199180160 2008 1 1 19990 2000-01-02 NaN NaN NaN NaN NaN 2000-01-03 NaN NaN NaN NaN NaN 2000-01-04 NaN NaN NaN NaN NaN 2000-01-05 NaN NaN NaN NaN NaN
¿Por qué desapareció la columna ‘Val’? y todas las otras columnas parecen desordenadas también. Consulte Interpolar linealmente las filas faltantes en el dataframe de pandas para obtener una explicación de dónde proviene el dataframe.
– EDIT Basado en las preguntas de @unutbu:
df.reset_index().to_dict('list') {'index': [Timestamp('2000-02-18 00:00:00'), Timestamp('2000-03-05 00:00:00'), Timestamp('2000-03-21 00:00:00'), ... '0.670709965', '0.631584375', '0.562112815', '0.50740686', '0.4447712', '0.47880806', nan, nan]}
– EDITAR: El archivo csv para el dataframe anterior en su totalidad está aquí:
https://www.dropbox.com/s/dp76hk6yfs6c1og/test.csv?dl=0
Es probable que las columnas Val
no tengan un dtype numérico por alguna razón, y todas las columnas no numéricas (por ejemplo, dtype del object
) se eliminan en la resample
.
Para comprobarlo, solo mire df.info()
.
Para convertirlo en columnas numéricas, puede usar astype(float)
o los convert_objects
( pd.to_numeric
partir de v0.17).