2016-11-22 1 views
2

Sagen wir, ich habe einen Datenrahmen wie folgt aus:Pandas: Berechnen Sie den Mittelwert einer Spalte von einer anderen Spalte gruppiert

  gender  height  weight C 
2000-01-01 male 42.849980 157.500553 1 
2000-01-02 male 49.607315 177.340407 1 
2000-01-03 male 56.293531 171.524640 1 
2000-01-04 female 48.421077 144.251986 2 
2000-01-05 male 46.556882 152.526206 2 
2000-01-06 female 68.448851 168.272968 1 
2000-01-07 male 70.757698 136.431469 2 
2000-01-08 female 58.909500 176.499753 3 
2000-01-09 female 76.435631 174.094104 3 
2000-01-10 male 45.306120 177.540920 2 

Wie konnte ich berechnen den Mittelwert der height Spalte, gruppiert nach Spalte C? Dies würde 3 verschiedene Werte ergeben: der Mittelwert dieser Höhen mit C=1, jener der mit C=2 und so weiter.

Bisher habe ich versucht, dies aber ohne Erfolg:

df['height'].mean(groupby='C')

-> liefert TypeError: mean() got an unexpected keyword argument 'groupby'

+1

Sind Sie hinter 'df.groupby ('C') ['height']. Mean()'? – EdChum

+0

Ja. Wenn du willst, kannst du es zu einer Antwort für andere machen. – FaCoffee

Antwort

2

Ihre Syntax falsch ist, gibt es keine groupby arg für mean, möchten Sie groupby auf die Spalte von Interesse und dann rufen Sie mean auf der Spalte von Interesse:

In [11]: 
df.groupby('C')['height'].mean() 

Out[11]: 
C 
1 54.299919 
2 52.760444 
3 67.672566 
Name: height, dtype: float64 
Verwandte Themen