Pandas: Verwenden von groupby, um den Mittelwert für jede Datenkategorie zu ermitteln
Ich habe einen Datenrahmen, der so aussieht:
>>> df[['data','category']]
Out[47]:
data category
0 4610 2
15 4610 2
22 5307 7
23 5307 7
25 5307 7
... ... ...
Beide Daten und Kategorien sind numerisch, daher kann ich dies tun:
>>> df[['data','category']].mean()
Out[48]:
data 5894.677985
category 13.805886
dtype: float64
Und ich versuche, den Mittelwert für jede Kategorie zu ermitteln. Es sieht einfach aus, aber wenn ich das tue:
>>> df[['data','category']].groupby('category').mean()
ode
>>> df.groupby('category')['data'].mean()
It gibt einen Fehler wie diesen zurück:
DataError: No numeric types to aggregate
Es gibt keinen Fehler, wenn ich beide oben genannten Funktionen durch @ ersetz.count()
.
Was mache ich falsch? Was ist der richtige Weg, um den Mittelwert für jede Kategorie zu ermitteln?