Ich möchte NaN-Werte in einer DataFrame (df) -Spalte (var4) basierend auf einer Steuertabelle (fillna_mean) mit Spalte Mittelwert und Var1 als Index füllen. Im Dataframe möchte ich sie passend für var1.Python pandas Dataframe Füllung NaN mit anderen Serie
Ich habe versucht, dies mit fillna zu tun, aber ich bekomme es nicht die ganze Zeit arbeiten. Wie mache ich das auf intelligente Weise, indem ich df.var1 als Index verwende, der fillna_mean.var1 entspricht?
df:
df = pd.DataFrame({'var1' : list('a' * 3) + list('b' * 2) + list('c' * 4) + list('d' * 3)
,'var2' : [i for i in range(12)]
,'var3' : list(np.random.randint(100, size = 12))
,'var4' : [1, 2, np.nan, 3, 2, np.nan, 1, 34, np.nan, np.nan, 12, 12]
})
fillna_mean:
fillna = pd.DataFrame({'var1' : ['a', 'b', 'c', 'd'],
'mean' : [1, 3.5, 6.5, 10]})
End Ergebnis ist dieses:
var1 var2 var3 var4 a 0 69 1.0 a 1 17 2.0 a 2 83 1.0 b 3 12 3.0 b 4 36 2.0 c 5 68 6.5 c 6 13 1.0 c 7 30 34.0 c 8 23 6.5 d 9 82 10.0 d 10 32 12.0 d 11 19 12.0
Vielen Dank im Voraus für die Eingabe!
/swepab
Reine Schönheit, daß man - soliden Sieg! Tausend Dank! – swepab