agruparPor

Agrupa la trama de datos por las columnas especificadas para que la agregación se pueda realizar en ellas. Consulte GroupedData para ver todas las funciones de agregado disponibles.

Sintaxis

groupBy(*cols: "ColumnOrNameOrOrdinal")

Parámetros

Parámetro Tipo Descripción
cols list, str, int o Column Columnas por las que se va a agrupar. Cada elemento puede ser un nombre de columna (cadena) o una expresión (Columna) o un ordinal de columna (int, basado en 1) o una lista de ellos.

Devoluciones

GroupedData: objeto GroupedData que representa los datos agrupados por las columnas especificadas.

Notas

Un ordinal de columna comienza a partir de 1, que es diferente del basado en __getitem__0.

Ejemplos

df = spark.createDataFrame([
    ("Alice", 2), ("Bob", 2), ("Bob", 2), ("Bob", 5)], schema=["name", "age"])

df.groupBy().avg().show()
# +--------+
# |avg(age)|
# +--------+
# |    2.75|
# +--------+

df.groupBy("name").agg({"age": "sum"}).sort("name").show()
# +-----+--------+
# | name|sum(age)|
# +-----+--------+
# |Alice|       2|
# |  Bob|       9|
# +-----+--------+

df.groupBy(df.name).max().sort("name").show()
# +-----+--------+
# | name|max(age)|
# +-----+--------+
# |Alice|       2|
# |  Bob|       5|
# +-----+--------+

df.groupBy(["name", df.age]).count().sort("name", "age").show()
# +-----+---+-----+
# | name|age|count|
# +-----+---+-----+
# |Alice|  2|    1|
# |  Bob|  2|    2|
# |  Bob|  5|    1|
# +-----+---+-----+