Pandas: Wie fülle ich Nullwerte mit dem Mittelwert eines Gruppenby?
Ich habe einen Datensatz mit fehlenden Daten, der so aussieht:
id category value
1 A NaN
2 B NaN
3 A 10.5
4 C NaN
5 A 2.0
6 B 1.0
Ich muss die Nullen eingeben, um die Daten in einem Modell zu verwenden. Jedes Mal, wenn eine Kategorie zum ersten Mal auftritt, ist sie NULL. Die Art und Weise, die ich tun möchte, ist für Fälle wie categoryA
undB
, bei denen mehr als ein Wert die Nullen durch den Durchschnitt dieser Kategorie ersetzt. Und für die KategorieC
mit nur einem Vorkommen füllen Sie einfach den Durchschnitt der restlichen Daten aus.
Ich weiß, dass ich dies einfach für Fälle wie @ tun kaC
, um den Durchschnitt aller Zeilen zu erhalten, aber ich stecke fest und versuche, die kategorieweisen Mittelwerte für A und B zu tun und die Nullen zu ersetzen.
df['value'] = df['value'].fillna(df['value'].mean())
Ich brauche die endgültige df, um so zu sein
id category value
1 A 6.25
2 B 1.0
3 A 10.5
4 C 4.15
5 A 2.0
6 B 1.0