Pandas: Erstellen einer aggregierten Spalte in DataFrame

Mit dem DataFrame-im folgenden als ein Beispiel,

In [83]:
df = pd.DataFrame({'A':[1,1,2,2],'B':[1,2,1,2],'values':np.arange(10,30,5)})
df
Out[83]:
   A  B  values
0  1  1      10
1  1  2      15
2  2  1      20
3  2  2      25

Was wäre eine einfache Möglichkeit zum erzeugen einer neuen Spalte mit der aggregation der Daten über eine der Spalten?

Zum Beispiel, wenn ich Summe values über Elemente in A

In [84]:
df.groupby('A').sum()['values']
Out[84]:
A
1    25
2    45
Name: values

Wie bekomme ich

   A  B  values  sum_values_A
0  1  1      10            25
1  1  2      15            25
2  2  1      20            45
3  2  2      25            45

InformationsquelleAutor der Frage foglerit | 2012-11-06

Schreibe einen Kommentar