Spec-Zone.ru › pandas 0.22

pandas.core.groupby.DataFrameGroupBy.agg

DataFrameGroupBy.agg(arg, *args, **kwargs) [source]

Агрегирование с использованием вызова функции, строки, словаря или списка строк/вызовов функций

Параметры:

func : вызов функции, строка, словарь или список строк/вызовов функций

Функция для агрегирования данных. Если это функция, она должна работать, когда ей передаётся DataFrame, или когда она передаётся в DataFrame.apply. Для DataFrame можно передать словарь, если ключи — имена столбцов DataFrame.

Допустимые комбинации:

  • имя функции в виде строки
  • функция
  • список функций
  • словарь имён столбцов -> функций (или список функций)
Возвращает:

aggregated : DataFrame

См. также

pandas.DataFrame.groupby.apply, pandas.DataFrame.groupby.transform, pandas.DataFrame.aggregate

Примечания

Функции Numpy mean/median/prod/sum/std/var являются специальными случаями, поэтому по умолчанию функция применяется вдоль оси=0 (например, np.mean(arr_2d, axis=0)), а не имитируется поведение Numpy по умолчанию (например, np.mean(arr_2d)).

agg является псевдонимом для aggregate. Используйте псевдоним.

Примеры

>>> df = pd.DataFrame({'A': [1, 1, 2, 2],
...                    'B': [1, 2, 3, 4],
...                    'C': np.random.randn(4)})
>>> df
   A  B         C
0  1  1  0.362838
1  1  2  0.227877
2  2  3  1.267767
3  2  4 -0.562860

Агрегирование выполняется для каждого столбца.

>>> df.groupby('A').agg('min')
   B         C
A
1  1  0.227877
2  3 -0.562860

Множественное агрегирование

>>> df.groupby('A').agg(['min', 'max'])
    B             C
  min max       min       max
A
1   1   2  0.227877  0.362838
2   3   4 -0.562860  1.267767

Выбор столбца для агрегирования

>>> df.groupby('A').B.agg(['min', 'max'])
   min  max
A
1    1    2
2    3    4

Разные агрегации для каждого столбца

>>> df.groupby('A').agg({'B': ['min', 'max'], 'C': 'sum'})
    B             C
  min max       sum
A
1   1   2  0.590716
2   3   4  0.704907

© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.22.0/generated/pandas.core.groupby.DataFrameGroupBy.agg.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API