Ich versuche, eine einfache Funktion zu bauen, um die Pandas Spalten mit einige Verteilung zu füllen, aber es funktioniert nicht die gesamte Tabelle zu füllen (df noch NaN nach fillna haben ...)Pandas fillna() funktioniert nicht richtig
def simple_impute_missing(df):
from numpy.random import normal
rnd_filled = pd.DataFrame({c : normal(df[c].mean(), df[c].std(), len(df))
for c in df.columns[3:]})
filled_df = df.fillna(rnd_filled)
return filled_df
Aber die zurückgegebenen df, haben immer noch NaNs!
Ich habe überprüft, um sicherzustellen, dass rnd_filled voll ist und die richtige Form haben. was ist los?
Are NaN in der ersten, zweiten und dritten Spalte nur? – jezrael
wenn ersetzen NaN in allen df, entfernen '[: 3]' aus 'df.columns [3:]' – jezrael
ein anderes mögliches Problem ist, wenn alle Daten in einer Spalte 'NaN' sind. Können Sie Datenmuster hinzufügen? – jezrael