Función Pandas DataFrame DataFrame.aggregate()
-
La sintaxis de
pandas.DataFrame.aggregate()
-
Códigos de ejemplo: Pandas
DataFrame.agg()
-
Códigos de ejemplo:
DataFrame.aggregate()
Con las múltiples funciones -
Códigos de ejemplo:
DataFrame.aggregate()
Con una columna especificada
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 conDataFrame.agg()
. - Devuelve un
DataFrame
si se llaman múltiples funciones conDataFrame.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