Función Pandas DataFrame DataFrame.aggregate()

Minahil Noor 30 enero 2023
  1. La sintaxis de pandas.DataFrame.aggregate()
  2. Códigos de ejemplo: Pandas DataFrame.agg()
  3. Códigos de ejemplo: DataFrame.aggregate() Con las múltiples funciones
  4. Códigos de ejemplo: DataFrame.aggregate() Con una columna especificada
Función Pandas DataFrame DataFrame.aggregate()

La función pandas.DataFrame.aggregate() agrega las columnas o filas de un DataFrame. Las funciones de agregación más utilizadas son min, max y sum. Estas funciones de agregación resultan en la reducción del tamaño del DataFrame.

La sintaxis de pandas.DataFrame.aggregate()

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

Parámetros

func Es la función de agregación que debe aplicarse. Puede ser un callabe o una lista de callable, string o una lista de string, o un diccionario.
axis 0 por defecto. Si es 0 o index entonces la función se aplica a las columnas individuales. Si es 1 o columns, entonces la función se aplica a las filas individuales.
*args Es un argumento posicional.
**kwargs Es un argumento de palabras clave.

Retorna

Esta función devuelve un scalar, Seires, o un DataFrame.

  • Devuelve un escalar si se llama a una sola función con Series.agg().
  • Devuelve una Series si una función simple es llamada con DataFrame.agg().
  • Devuelve un DataFrame si se llaman múltiples funciones con DataFrame.agg().

Códigos de ejemplo: Pandas DataFrame.agg()

DataFrame.agg() es un alias de DataFrame.aggregate(). Es mejor usar el alias. Así que usaremos DataFrame.agg() en los códigos de ejemplo.

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)

El ejemplo DataFrame está abajo.

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

Primero comprobaremos la función DataFrame.agg() usando sólo una función de agregación.

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

La función de agregación sum se aplica a las columnas individuales.

Para la columna de tipo entero, ha generado la suma; y para la columna de tipo string, ha concatenado las cadenas. El dtype: object muestra que se devuelve una Series.

Códigos de ejemplo: DataFrame.aggregate() Con las múltiples funciones

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

Las funciones de agregación suma y min se aplican a las columnas individuales.

Para la columna de tipo entero, la función min ha generado el valor mínimo, y para la columna de tipo string, ha mostrado la cadena con la longitud mínima.

Códigos de ejemplo: DataFrame.aggregate() Con una columna 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

Se devuelve la suma de una sola columna. dtype: int64 muestra que esta función ha devuelto una Series.

También podríamos aplicar múltiples funciones en una sola columna.

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

Artículo relacionado - Pandas DataFrame