Pandas: usando groupby para obter média para cada categoria de dados
Eu tenho um quadro de dados que se parece com isso:
>>> df[['data','category']]
Out[47]:
data category
0 4610 2
15 4610 2
22 5307 7
23 5307 7
25 5307 7
... ... ...
Os dados e a categoria são numéricos, portanto, eu posso fazer isso:
>>> df[['data','category']].mean()
Out[48]:
data 5894.677985
category 13.805886
dtype: float64
E eu estou tentando obter a média para cada categoria. Parece simples, mas quando faço isso:
>>> df[['data','category']].groupby('category').mean()
ou
>>> df.groupby('category')['data'].mean()
Retorna um erro como este:
DataError: No numeric types to aggregate
Não há erro se eu substituir as duas funções acima por.count()
.
O que eu faço de errado? Qual é a maneira correta de obter a média de cada categoria?