Hier ist ein Beispiel:Pandas Datenrahmen: groupby durch mehrere Spalten anwenden Funktion und das Ergebnis Karte zurück
np.random.seed(1)
df = pd.DataFrame({"x": np.random.random(size=10),
"y": np.arange(10)})
df["z"] = np.where(df.x < 0.5, 0, 1)
print df
Es ergibt folgendes Ergebnis:
x y z
0 0.417022 0 0
1 0.720324 1 1
2 0.000114 2 0
3 0.302333 3 0
4 0.146756 4 0
5 0.092339 5 0
6 0.186260 6 0
7 0.345561 7 0
8 0.396767 8 0
9 0.538817 9 1
Ich möchte eine neue hinzufügen Spalte mean
in df
mit Mittelwerte berechnet für Werte von x
Spalte gruppiert von y
und z
Spalten. Ich weiß schon, wie Mittelwert zu berechnen:
tmp = df.groupby(["y", "z"]).mean()
Allerdings kann ich nicht herausfinden, wie mean
die Ergebnisse in eine neue Spalte zur Karte zurück.