У меня есть dataframe, который выглядит следующим образом:Панды: с помощью GroupBy получить означает для каждой категории данных
>>> df[['data','category']]
Out[47]:
data category
0 4610 2
15 4610 2
22 5307 7
23 5307 7
25 5307 7
... ... ...
Оба данных и категории являются числовыми, так что я могу это сделать:
>>> df[['data','category']].mean()
Out[48]:
data 5894.677985
category 13.805886
dtype: float64
И я пытаюсь получить среднее значение для каждой категории. Он смотрит прямо вперед, но когда я делаю это:
>>> df[['data','category']].groupby('category').mean()
или
>>> df.groupby('category')['data'].mean()
возвращает ошибку, как это:
DataError: No numeric types to aggregate
Там нет ошибки, если я заменю обе функции выше .count()
,
Что я делаю неправильно? Каков правильный способ получить среднее значение для каждой категории?
Какой результат вы хотите получить? вы хотите получить среднее время или что? –
Не могли бы вы привести пример DataFrame, который демонстрирует это? (Имена столбцов в вашем примере не совпадают.) Какую версию панд вы используете? –
Как и Энди, ваши имена столбцов не совпадают. Я предполагаю, что testTime не является числовым. Проверьте свои типы –