Ho un set di dati simile al seguente. Abbiamo solo dati per l'ultimo giorno di un mese che sto cercando di interpolare per il resto, è il modo giusto di farlo?Python panda il dataframe interpola dati mancanti
Date Australia China
2011-01-01 NaN NaN
2011-01-02 NaN NaN
- - -
- - -
2011-01-31 4.75 5.81
2011-02-01 NaN NaN
2011-02-02 NaN NaN
- - -
- - -
2011-02-28 4.75 5.81
2011-03-01 NaN NaN
2011-03-02 NaN NaN
- - -
- - -
2011-03-31 4.75 6.06
2011-04-01 NaN NaN
2011-04-02 NaN NaN
- - -
- - -
2011-04-30 4.75 6.06
Per interpolare questo dataframe per trovare i valori NaN mancanti Sto usando il seguente codice
import pandas as pd
df = pd.read_csv("data.csv", index_col="Date")
df.index = pd.DatetimeIndex(df.index)
df.interpolate(method='linear', axis=0).ffill().bfill()
Ma sto ottenendo un errore "TypeError:. Non è possibile interpolare con tutto NaN"
Cosa potrebbe esserci di sbagliato qui, come posso risolvere questo problema?
Grazie.
L'errore è abbastanza auto-esplicativo. Puoi provare a rilasciare NaN come descritto in questo http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.dropna.html – station
Ciao, grazie per l'aiuto, ma invece dei NaN cosa posso compilare quelle file? – Unnikrishnan
@Unnikrishnan sono già state fornite buone risposte, penso. I tuoi dati sono piuttosto scarsi, quindi ti consigliamo di chiedersi se sia una buona idea in realtà interpolare tali enormi quantità di dati. Sei sicuro che quei valori saranno in qualche modo corretti? –