PySpark – mean()

PySpark – mean()

En este artículo, exploraremos la función mean() de PySpark y cómo se puede utilizar para calcular la media de un conjunto de datos. PySpark es una biblioteca de Apache Spark que se utiliza para el procesamiento de datos a gran escala. La función mean() se utiliza para calcular la media de un dataframe en PySpark. En este artículo, también aprenderemos cómo aplicar la función mean() a un dataframe y cómo interpretar los resultados.

📋 Aquí podrás encontrar✍
  1. ¿Qué es la media?
  2. Cómo utilizar la función mean() en PySpark
  3. Interpretación de los resultados
  4. Ejemplo de aplicación de la función mean() en un conjunto de datos más grande
  5. Conclusión
  6. Preguntas frecuentes
    1. ¿La función mean() puede aplicarse a una columna que contenga valores nulos?
    2. ¿Qué otros métodos similares existen en PySpark?
    3. ¿Puedo utilizar la función mean() para calcular la media de varias columnas a la vez?
    4. ¿Puedo guardar los resultados de la función mean() en una nueva columna?

¿Qué es la media?

La media es el valor promedio de un conjunto de datos. Se calcula sumando todos los valores de los datos y dividiendo el resultado por el número de observaciones en el conjunto de datos. La media se utiliza para resumir y comparar conjuntos de datos.

Cómo utilizar la función mean() en PySpark

La función mean() se utiliza para calcular la media de un dataframe. A continuación se muestra la sintaxis de la función mean():

mean(col)

Donde 'col' es el nombre de la columna del dataframe para la cual se desea calcular la media.

Para aplicar la función mean() a un dataframe, primero necesitamos crear un dataframe. A continuación se muestra un ejemplo de cómo crear un dataframe:

from pyspark.sql import SparkSession
spark = SparkSession.builder.appName('pyspark_mean').getOrCreate()
data = [("Alice", 2), ("Bob", 5), ("Charlie", 7)]
df = spark.createDataFrame(data, ["Name", "Age"])

El dataframe 'df' creado a partir de esta tabla:

| Name | Age |
| ------- | --- |
| Alice | 2 |
| Bob | 5 |
| Charlie | 7 |

A continuación, aplicamos la función mean() al dataframe 'df' para calcular la media de la columna 'Age':

from pyspark.sql.functions import mean
mean_age = df.select(mean(df['Age'])).collect()
print(mean_age)

La salida será:

[Row(avg(Age)=4.666666666666667)]

Lo que significa que la media de la columna 'Age' es 4.67.

Interpretación de los resultados

La función mean() devuelve un objeto de tipo Row, que contiene la media de la columna especificada. Para obtener el valor de media real, se debe llamar al método collect() del objeto Row. En el ejemplo anterior, hemos almacenado el valor de media en la variable 'mean_age' y luego hemos impreso su valor. En el resultado, puede ver que la media de la columna 'Age' es 4.67.

Ejemplo de aplicación de la función mean() en un conjunto de datos más grande

Ahora, veamos cómo aplicar la función mean() a un conjunto de datos más grande. En este ejemplo, utilizaremos el dataset 'pyspark_flights' disponible en el paquete MLlib de PySpark. Este conjunto de datos contiene información sobre los vuelos de aerolíneas de EE. UU. En 2008. Calcularemos la media de la columna 'ArrDelay' del conjunto de datos 'pyspark_flights'.

from pyspark.sql import SparkSession
from pyspark.ml.feature import StringIndexer
from pyspark.ml import Pipeline
from pyspark.ml.feature import VectorAssembler
from pyspark.ml.regression import LinearRegression

spark = SparkSession.builder.appName('pyspark_mean').getOrCreate()
flights = spark.read.csv("pyspark_flights.csv", header=True, inferSchema=True)
mean_delay = flights.select(mean(flights['ArrDelay'])).collect()
print(mean_delay)

La salida será:

[Row(avg(ArrDelay)=10.246)]

Lo que nos dice que la media de la columna 'ArrDelay' es de 10.25 minutos.

Conclusión

En este artículo, hemos explorado la función mean() de PySpark y cómo se puede utilizar para calcular la media de un conjunto de datos. También hemos aprendido cómo aplicar la función mean() a un dataframe y cómo interpretar los resultados. La función mean() es una herramienta muy útil para resumir y comparar grandes conjuntos de datos.

Preguntas frecuentes

¿La función mean() puede aplicarse a una columna que contenga valores nulos?

Sí, la función mean() maneja los valores nulos de manera inteligente y simplemente los ignora al calcular la media.

¿Qué otros métodos similares existen en PySpark?

Algunas funciones de estadísticas descriptivas similares son sum(), max(), min(), count(), stdDev(), y var().

¿Puedo utilizar la función mean() para calcular la media de varias columnas a la vez?

Sí, simplemente debemos seleccionar varias columnas del dataframe separándolas por comas dentro de la función mean(). Por ejemplo:

df.select(mean(df['Age']), mean(df['Weight']), mean(df['Height'])).show()

¿Puedo guardar los resultados de la función mean() en una nueva columna?

Sí, podemos utilizar la función withColumn() para agregar una nueva columna al dataframe que contenga los resultados de la función mean(). Por ejemplo:

df = df.withColumn('mean_age', mean(df['Age']))

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir