Pandas DataFrame DataFrame.aggregate() Função

Minahil Noor 30 janeiro 2023
  1. Sintaxe de pandas.DataFrame.aggregate()
  2. Códigos de exemplo: Pandas DataFrame.aggregate()
  3. Códigos de exemplo: DataFrame.aggregate() Com as funções múltiplas
  4. Códigos de exemplo: DataFrame.aggregate() Com uma Coluna Especificada
Pandas DataFrame DataFrame.aggregate() Função

A função pandas.DataFrame.aggregate() agrega as colunas ou linhas de um DataFrame. As funções de agregação mais utilizadas são min, max, e sum. Essas funções de agregação resultam na redução do tamanho do DataFrame.

Sintaxe de pandas.DataFrame.aggregate()

DataFrame.aggregate(func, axis, *args, **kwargs)

Parâmetros

func É a função de agregação a ser aplicada. Pode ser uma callable ou uma lista de callable, string ou uma lista de strings, ou um dicionário.
axis 0 por padrão. Se for 0 ou 'index' então a função é aplicada às colunas individuais. Se for 1 ou 'columns', então a função é aplicada às linhas individuais.
*args É um argumento posicional.
**kwargs É um argumento de palavra-chave.

Retornar

Esta função retorna um scalar, Series, ou um DataFrame.

  • Ela retorna um scalar se uma única função for chamada com Series.agg().
  • Retorna uma Series se uma única função for chamada com DataFrame.agg().
  • Retorna um DataFrame se múltiplas funções forem chamadas com DataFrame.agg().

Códigos de exemplo: Pandas DataFrame.aggregate()

DataFrame.agg() é um pseudônimo para DataFrame.aggregate(). É melhor utilizar o pseudônimo. Então estaremos utilizando DataFrame.agg() nos códigos de exemplo.

import pandas as pd

dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 78,4: 95},
                    'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
                    'Obtained Marks': {0: 90, 1: 75, 2: 82, 3: 64, 4: 45}})
print(dataframe)

O exemplo DataFrame está abaixo.

   Attendance    Name Obtained Marks
0          60  Olivia            90
1         100    John            75
2          80   Laura            82
3          78     Ben            64
4          95   Kevin            45

Primeiro verificaremos a função DataFrame.agg() utilizando apenas uma única função de agregação.

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
    }
)

dataframe1 = dataframe.agg("sum")
print(dataframe1)

Resultado:

Attendance                            413
Name              OliviaJohnLauraBenKevin
Obtained Marks                        356
dtype: object

A função de agregação sum é aplicada às colunas individuais.

Para a coluna do tipo integer, ela gerou soma; e para a coluna do tipo string, ela concatenou as strings. O dtype: object mostra que uma Series é retornada.

Códigos de exemplo: DataFrame.aggregate() Com as funções múltiplas

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
    }
)

dataframe1 = dataframe.agg(["sum", "min"])
print(dataframe1)

Resultado:

     Attendance                     Name  Obtained Marks
sum         413  OliviaJohnLauraBenKevin             356
min          60                      Ben              45

As funções de agregação sum e min são aplicadas às colunas individuais.

Para a coluna do tipo integer, a função min gerou o valor mínimo, e para a coluna do tipo string, mostrou a string com comprimento mínimo.

Códigos de exemplo: DataFrame.aggregate() Com uma Coluna Especificada

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
    }
)

dataframe1 = dataframe.agg({"Obtained Marks": "sum"})
print(dataframe1)

Resultado:

Obtained Marks    356
dtype: int64

A soma de uma única coluna é devolvida. O dtype: int64 mostra que esta função retornou uma Series.

Poderíamos também aplicar múltiplas funções em uma única coluna.

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
    }
)
dataframe1 = dataframe.agg({"Obtained Marks": ["sum", "max"]})
print(dataframe1)

Resultado:

     Obtained Marks
sum             356
max              90

Artigo relacionado - Pandas DataFrame