Pyspark - Media

Pyspark - Media
En Python, Pyspark es un módulo Spark utilizado para proporcionar un tipo similar de procesamiento como Spark usando DataFrame. media () en Pyspark devuelve el valor promedio de una columna particular en el marco de datos. Podemos obtener el promedio 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 promedio de la columna en la marca de datos utilizando el método select (). Usando el método medio (), podemos obtener el valor promedio 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 el promedio de la columna

Sintaxis:

df.SELECT (media ('column_name'))

Dónde,

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

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

Sintaxis:

df.SELECT (media ('column_name'), media ('column_name'), .. ., media ('column_name'))

Dónde,

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

Ejemplo 1: columna única

Este ejemplo obtendrá el valor promedio 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 el meanfunción
de Pyspark.sql.las funciones importan media
#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 el promedio de la columna de altura
df.Seleccionar (media ('altura')).recolectar()

Producción:

[Fila (avg (altura) = 4.33)]

En el ejemplo anterior, se devuelve el valor promedio de la columna de altura.

Ejemplo 2: múltiples columnas

Este ejemplo obtendrá el valor promedio 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 media
de Pyspark.sql.las funciones importan media
#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 el promedio de las columnas de altura, edad y peso
df.Seleccionar (media ('altura'), media ('edad'), media ('peso')).recolectar()

Producción:

[Fila (avg (altura) = 4.33, AVG (edad) = 18.4, AVG (peso) = 40.0)]

En el ejemplo anterior, se devuelve el valor promedio de las columnas de altura, edad y peso.

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

Podemos obtener el valor promedio 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., significar. Mediante el uso del método Mean (), podemos obtener el valor promedio de la columna y, finalmente, podemos usar el método Collect () para obtener el promedio de la columna.

Sintaxis:

df.AGG ('column_name': media)

Dónde,

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

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

Sintaxis:

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

Dónde,

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

Ejemplo 1: columna única

Este ejemplo obtendrá el valor promedio 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 el promedio de la columna de altura
df.agg ('altura': 'medio').recolectar()

Producción:

[Fila (avg (altura) = 4.33)]

En el ejemplo anterior, se devuelve el valor promedio de la columna de altura.

Ejemplo 2: múltiples columnas

Este ejemplo obtendrá el valor promedio 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 el promedio de las columnas de altura, edad y peso
df.agg ('altura': 'media', 'edad': 'media', 'peso': 'media').recolectar()

Producción:

[Fila (avg (peso) = 40.0, avg (edad) = 18.4, AVG (altura) = 4.33)]

En el ejemplo anterior, se devuelve el valor promedio de las columnas de altura, edad y peso.

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

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

Sintaxis:

df.Groupby (group_column). media ('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 promedio
  4. la media es una función de agregación utilizada para devolver el promedio

Ejemplo 1:

En este ejemplo, agruparemos la columna de dirección con la columna de altura para devolver el valor promedio 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)
#Realizar el promedio de la columna de altura de la columna con la columna de dirección
df.Groupby ('dirección').media ('altura').recolectar()

Producción:

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

[Fila (dirección = 'hyd', avg (altura) = 4.35666666666666665),
Fila (dirección = 'guntur', avg (altura) = 5.79),
Fila (dirección = 'patna', avg (altura) = 2.79)]

Ejemplo 2:

En este ejemplo, agruparemos la columna de dirección con la columna de peso para devolver el valor promedio 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)
#Realizar el promedio de la columna de peso agrupación con la columna de dirección
df.Groupby ('dirección').media ('peso').recolectar()

Producción:

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

[Fila (direcciones = 'hyd', avg (peso) = 38.6666666666666664),
Fila (dirección = 'guntur', avg (peso) = 67.0),
Fila (dirección = 'patna', avg (peso) = 17.0)]

Conclusión:

Discutimos cómo obtener el valor promedio del Pyspark DataFrame utilizando los métodos select () y agg (). Para obtener el valor promedio al agrupar con otras columnas, utilizamos el grupo junto con la función media ().