Pyspark - suma

Pyspark - suma
En Python, Pyspark es un módulo Spark utilizado para proporcionar un tipo similar de procesamiento como Spark usando DataFrame. suma () en Pyspark devuelve el valor total (suma) de una columna particular en DataFrame. Podemos obtener el valor de suma de tres maneras.
  1. Método 1: Uso del método select ()
  2. Método 2: Uso del método Agg ()
  3. Método 3: Uso del método GroupBy ()

Antes de eso, tenemos que crear Pyspark DataFrame para la demostración.

Ejemplo:

Crearemos un marco de datos con 5 filas y 6 columnas y lo mostraremos usando el método show ().

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear datos de estudiante con 5 filas y 6 atributos
estudiantes = [
'Rollno': '001', 'Nombre': 'Sravan', 'Age': 23,
'Altura': 5.79, 'Peso': 67, 'Dirección': 'Guntur',
'Rollno': '002', 'Nombre': 'Ojaswi', 'Age': 16,
'Altura': 3.79, 'Peso': 34, 'Dirección': 'Hyd',
'Rollno': '003', 'Nombre': 'Gnanesh Chowdary', 'Age': 7,
'Altura': 2.79, 'Peso': 17, 'Dirección': 'Patna',
'Rollno': '004', 'Nombre': 'Rohith', 'Age': 9,
'Altura': 3.69, 'Peso': 28, 'Dirección': 'Hyd',
'Rollno': '005', 'Nombre': 'Sridevi', 'Age': 37,
'Altura': 5.59, 'Peso': 54, 'Dirección': 'Hyd']
# Crea el DataFrame
DF = Spark_App.Createdataframe (estudiantes)
#Data DataFrame
df.espectáculo()

Producción:

Método 1: Uso del método select ()

Podemos obtener el valor total de la columna en la marca de datos utilizando el método select (). Usando el método Sum (), podemos obtener el valor total de la columna. Para usar este método, tenemos que importarlo de Pyspark.sql.Módulo de funciones, y finalmente, podemos usar el método Collect () para obtener la suma de la columna

Sintaxis:

df.SELECT (SUM ('column_name'))

Dónde,

  1. DF es la entrada Pyspark DataFrame
  2. column_name es la columna para obtener el valor de suma

Si queremos devolver el valor total de varias columnas, debemos usar el método Sum () dentro del método select () especificando el nombre de la columna separado por una coma.

Sintaxis:

df.SELECT (SUM ('column_name'), sum ('column_name'), .. ., Sum ('column_name'))

Dónde,

  1. DF es la entrada Pyspark DataFrame
  2. column_name es la columna para obtener el valor de suma

Ejemplo 1: columna única

Este ejemplo obtendrá el valor total de la columna de altura en el marco de datos de Pyspark.

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
#Importa la función de suma
de Pyspark.sql.FUNCIONES SUMA DE IMPORTA
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear datos de estudiante con 5 filas y 6 atributos
estudiantes = [
'Rollno': '001', 'Nombre': 'Sravan', 'Age': 23,
'Altura': 5.79, 'Peso': 67, 'Dirección': 'Guntur',
'Rollno': '002', 'Nombre': 'Ojaswi', 'Age': 16,
'Altura': 3.79, 'Peso': 34, 'Dirección': 'Hyd',
'Rollno': '003', 'Nombre': 'Gnanesh Chowdary', 'Age': 7,
'Altura': 2.79, 'Peso': 17, 'Dirección': 'Patna',
'Rollno': '004', 'Nombre': 'Rohith', 'Age': 9,
'Altura': 3.69, 'Peso': 28, 'Dirección': 'Hyd',
'Rollno': '005', 'Nombre': 'Sridevi', 'Age': 37,
'Altura': 5.59, 'Peso': 54, 'Dirección': 'Hyd']
# Crea el DataFrame
DF = Spark_App.Createdataframe (estudiantes)
#Realizar la suma de la columna de altura
df.Seleccionar (suma ('altura')).recolectar()

Producción:

[Fila (suma (altura) = 21.sesenta y cinco)]

El valor total (suma) de la columna de altura se devuelve en el ejemplo anterior.

Ejemplo 2: múltiples columnas

Este ejemplo obtendrá el valor total de las columnas de altura, edad y peso en el marco de datos de Pyspark.

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
#Importa la función de suma
de Pyspark.sql.FUNCIONES SUMA DE IMPORTA
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear datos de estudiante con 5 filas y 6 atributos
estudiantes = [
'Rollno': '001', 'Nombre': 'Sravan', 'Age': 23,
'Altura': 5.79, 'Peso': 67, 'Dirección': 'Guntur',
'Rollno': '002', 'Nombre': 'Ojaswi', 'Age': 16,
'Altura': 3.79, 'Peso': 34, 'Dirección': 'Hyd',
'Rollno': '003', 'Nombre': 'Gnanesh Chowdary', 'Age': 7,
'Altura': 2.79, 'Peso': 17, 'Dirección': 'Patna',
'Rollno': '004', 'Nombre': 'Rohith', 'Age': 9,
'Altura': 3.69, 'Peso': 28, 'Dirección': 'Hyd',
'Rollno': '005', 'Nombre': 'Sridevi', 'Age': 37,
'Altura': 5.59, 'Peso': 54, 'Dirección': 'Hyd']
# Crea el DataFrame
DF = Spark_App.Createdataframe (estudiantes)
#Realizar la suma de las columnas de altura, edad y peso
df.SELECT (SUM ('Altura'), Sum ('Age'), Sum ('Peso')).recolectar()

Producción:

[Fila (suma (altura) = 21.65, suma (edad) = 92, suma (peso) = 200)]

El valor total (suma) de las columnas de altura, edad y peso se devuelve en el ejemplo anterior.

Método 2: Uso del método Agg ()

Podemos obtener el valor total de la columna en la estructura de datos utilizando el método Agg (). Este método se conoce como agregación, que agrupa los valores dentro de una columna. Tomará el diccionario como un parámetro en esa clave será el nombre y el valor de la columna es la función agregada, i.mi., suma. Al usar el método Sum (), podemos obtener el valor total de la columna y, finalmente, podemos usar el método Collect () para obtener la suma de la columna.

Sintaxis:

df.AGG ('column_name': sum)

Dónde,

  1. DF es la entrada Pyspark DataFrame
  2. column_name es la columna para obtener el valor de suma
  3. La suma es una función de agregación utilizada para devolver la suma

Si queremos devolver el valor total de varias columnas, debemos especificar el nombre de la columna con la función de suma separada por una coma.

Sintaxis:

df.agg ('column_name': sum, 'column_name': sum, ..., 'column_name': sum)

Dónde,

  1. DF es la entrada Pyspark DataFrame
  2. column_name es la columna para obtener el valor de suma
  3. La suma es una función de agregación utilizada para devolver la suma

Ejemplo 1: columna única

Este ejemplo obtendrá el valor total de la columna de altura en el marco de datos de Pyspark.

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear datos de estudiante con 5 filas y 6 atributos
estudiantes = [
'Rollno': '001', 'Nombre': 'Sravan', 'Age': 23,
'Altura': 5.79, 'Peso': 67, 'Dirección': 'Guntur',
'Rollno': '002', 'Nombre': 'Ojaswi', 'Age': 16,
'Altura': 3.79, 'Peso': 34, 'Dirección': 'Hyd',
'Rollno': '003', 'Nombre': 'Gnanesh Chowdary', 'Age': 7,
'Altura': 2.79, 'Peso': 17, 'Dirección': 'Patna',
'Rollno': '004', 'Nombre': 'Rohith', 'Age': 9,
'Altura': 3.69, 'Peso': 28, 'Dirección': 'Hyd',
'Rollno': '005', 'Nombre': 'Sridevi', 'Age': 37,
'Altura': 5.59, 'Peso': 54, 'Dirección': 'Hyd']
# Crea el DataFrame
DF = Spark_App.Createdataframe (estudiantes)
#Realizar la suma de la columna de altura
df.agg ('altura': 'suma').recolectar()

Producción:

[Fila (suma (altura) = 21.sesenta y cinco)]

En el ejemplo anterior, se devuelve el valor total (suma) de la columna de altura.

Ejemplo 2: múltiples columnas

Este ejemplo obtendrá el valor total de las columnas de altura, edad y peso en el marco de datos de Pyspark.

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear datos de estudiante con 5 filas y 6 atributos
estudiantes = [
'Rollno': '001', 'Nombre': 'Sravan', 'Age': 23,
'Altura': 5.79, 'Peso': 67, 'Dirección': 'Guntur',
'Rollno': '002', 'Nombre': 'Ojaswi', 'Age': 16,
'Altura': 3.79, 'Peso': 34, 'Dirección': 'Hyd',
'Rollno': '003', 'Nombre': 'Gnanesh Chowdary', 'Age': 7,
'Altura': 2.79, 'Peso': 17, 'Dirección': 'Patna',
'Rollno': '004', 'Nombre': 'Rohith', 'Age': 9,
'Altura': 3.69, 'Peso': 28, 'Dirección': 'Hyd',
'Rollno': '005', 'Nombre': 'Sridevi', 'Age': 37,
'Altura': 5.59, 'Peso': 54, 'Dirección': 'Hyd']
# Crea el DataFrame
DF = Spark_App.Createdataframe (estudiantes)
#Realizar la suma de las columnas de altura, edad y peso
df.agg ('altura': 'suma', 'edad': 'suma', 'peso': 'suma').recolectar()

Producción:

[Fila (suma (altura) = 21.65, suma (edad) = 92, suma (peso) = 200)]

En el ejemplo anterior, se devuelve el valor total (suma) de las columnas de altura, edad y peso.

Método 3: Uso del método GroupBy ()

Podemos obtener el valor total de la columna en la estructura de datos utilizando el método GroupBy (). Este método devolverá el valor total agrupando valores similares en una columna. Tenemos que usar la función Sum () después de realizar la función GroupBy ()

Sintaxis:

df.Groupby (group_column).Sum ('column_name')

Dónde,

  1. DF es la entrada Pyspark DataFrame
  2. Group_column es la columna donde los valores se agrupan en función de esta columna
  3. column_name es la columna para obtener el valor de suma
  4. La suma es una función de agregación utilizada para devolver la suma

Ejemplo 1:

En este ejemplo, agruparemos la columna de dirección con la columna de altura para devolver el valor total (suma) basado en esta columna de dirección.

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear datos de estudiante con 5 filas y 6 atributos
estudiantes = [
'Rollno': '001', 'Nombre': 'Sravan', 'Age': 23,
'Altura': 5.79, 'Peso': 67, 'Dirección': 'Guntur',
'Rollno': '002', 'Nombre': 'Ojaswi', 'Age': 16,
'Altura': 3.79, 'Peso': 34, 'Dirección': 'Hyd',
'Rollno': '003', 'Nombre': 'Gnanesh Chowdary', 'Age': 7,
'Altura': 2.79, 'Peso': 17, 'Dirección': 'Patna',
'Rollno': '004', 'Nombre': 'Rohith', 'Age': 9,
'Altura': 3.69, 'Peso': 28, 'Dirección': 'Hyd',
'Rollno': '005', 'Nombre': 'Sridevi', 'Age': 37,
'Altura': 5.59, 'Peso': 54, 'Dirección': 'Hyd']
# Crea el DataFrame
DF = Spark_App.Createdataframe (estudiantes)
#Realización de la suma de la columna de altura con la columna de dirección
df.Groupby ('dirección').suma ('altura').recolectar()

Producción:

Hay tres valores únicos en el campo de dirección: Hyd, Guntur y Patna. Entonces, la suma se formará agrupando los valores en los valores de la dirección.

[Fila (dirección = 'hyd', suma (altura) = 13.07),
Fila (dirección = 'Guntur', suma (altura) = 5.79),
Fila (dirección = 'patna', suma (altura) = 2.79)]

Ejemplo 2:

En este ejemplo, agruparemos la columna de dirección con la columna de peso para devolver el valor total (suma) basado en esta columna de dirección.

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear datos de estudiante con 5 filas y 6 atributos
estudiantes = [
'Rollno': '001', 'Nombre': 'Sravan', 'Age': 23,
'Altura': 5.79, 'Peso': 67, 'Dirección': 'Guntur',
'Rollno': '002', 'Nombre': 'Ojaswi', 'Age': 16,
'Altura': 3.79, 'Peso': 34, 'Dirección': 'Hyd',
'Rollno': '003', 'Nombre': 'Gnanesh Chowdary', 'Age': 7,
'Altura': 2.79, 'Peso': 17, 'Dirección': 'Patna',
'Rollno': '004', 'Nombre': 'Rohith', 'Age': 9,
'Altura': 3.69, 'Peso': 28, 'Dirección': 'Hyd',
'Rollno': '005', 'Nombre': 'Sridevi', 'Age': 37,
'Altura': 5.59, 'Peso': 54, 'Dirección': 'Hyd']
# Crea el DataFrame
DF = Spark_App.Createdataframe (estudiantes)
#Realización de la suma de la columna de peso agrupación con la columna de dirección
df.Groupby ('dirección').suma ('peso').recolectar()

Producción:

Hay tres valores únicos en el campo de dirección: Hyd, Guntur y Patna. Entonces, la suma se formará agrupando los valores en los valores de la dirección.

[Fila (dirección = 'hyd', suma (peso) = 116),
Fila (dirección = 'Guntur', suma (peso) = 67),
Fila (dirección = 'patna', suma (peso) = 17)]

Conclusión:

Discutimos cómo obtener el valor de suma (total) del PySpark DataFrame utilizando los métodos select () y agg (). Para obtener el valor de la suma agrupando con otras columnas, utilizamos el grupo junto con la función suma ().