PySpark Fillna() Método

Introducción
PySpark es una herramienta de computación distribuida altamente escalable que permite el procesamiento de grandes conjuntos de datos. El método fillna() en PySpark es una función que se utiliza para reemplazar los valores Nulos o valores NaN presentes en los datos por un valor especificado.
En este artículo, se explicará en detalle el uso del método Fillna() en PySpark, con ejemplos y casos de uso.
Sintaxis del Método Fillna()
La sintaxis del método fillna() en PySpark es la siguiente:
dataframe.fillna(value,subset=None)
Donde:
- dataframe: El DataFrame en el que se desea remplazar los valores NaN.
- value: El valor que se utilizará para reemplazar los valores NaN; puede ser una constante o un diccionario.
- subset: Las columnas específicas en las que deseas realizar el remplazo.
Ejemplos de Uso del Método Fillna()
Ejemplo 1: Reemplazando los valores NaN con una constante
Supongamos que tenemos un DataFrame en el que queremos remplazar los valores NaN con un valor constante, digamos 0. Para ello, podemos utilizar el método fillna() de la siguiente manera:
# Importamos PySpark SQL Functions
from pyspark.sql.functions import *
# Creamos un DataFrame
data = [("James", None, "M"),
("Michael", 31, "M"),
("Robert", 25, None),
("Maria", 32, "F")]
columns = ["name", "age", "gender"]
df = spark.createDataFrame(data, columns)
# Remplazamos los valores NaN con 0
df.fillna(0).show()
Este código producirá la siguiente salida:
+-------+---+------+
| name|age|gender|
+-------+---+------+
| James| 0| M|
|Michael| 31| M|
| Robert| 25| 0|
| Maria| 32| F|
+-------+---+------+
Como se puede observar, todos los valores NaN en el DataFrame han sido remplazados por el valor 0.
Ejemplo 2: Reemplazando los valores NaN con un diccionario
En el segundo ejemplo, tomamos el mismo DataFrame, pero esta vez remplazamos los valores NaN con un diccionario en el cual se especifica el valor para cada columna.
# Importamos PySpark SQL Functions
from pyspark.sql.functions import *
# Creamos un DataFrame
data = [("James", None, "M"),
("Michael", 31, "M"),
("Robert", 25, None),
("Maria", 32, "F")]
columns = ["name", "age", "gender"]
df = spark.createDataFrame(data, columns)
# Creamos un diccionario
fill_values = {"age": 30, "gender": "N/A"}
# Remplazamos los valores NaN con el diccionario
df.fillna(fill_values).show()
La salida de este código será:
+-------+---+------+
| name|age|gender|
+-------+---+------+
| James| 30| M|
|Michael| 31| M|
| Robert| 25| N/A|
| Maria| 32| F|
+-------+---+------+
Este ejemplo ilustra el uso de un diccionario para remplazar los valores NaN con diferentes valores en columnas específicas.
Ejemplo 3: Reemplazo de valores NaN en columnas específicas
En este ejemplo, tomamos el mismo DataFrame y remplazamos los valores NaN sólo en la columna "age".
# Importamos PySpark SQL Functions
from pyspark.sql.functions import *
# Creamos un DataFrame
data = [("James", None, "M"),
("Michael", 31, "M"),
("Robert", 25, None),
("Maria", 32, "F")]
columns = ["name", "age", "gender"]
df = spark.createDataFrame(data, columns)
# Remplazamos los valores NaN en la columna "age"
df.fillna({"age": 30}).show()
La salida de este código será:
+-------+---+------+
| name|age|gender|
+-------+---+------+
| James| 30| M|
|Michael| 31| M|
| Robert| 25| null|
| Maria| 32| F|
+-------+---+------+
En este ejemplo, los valores NaN en la columna "age" han sido remplazados por 30, mientras que en las otras columnas permanecen sin cambios.
Casos de Uso del Método Fillna() en PySpark
El método fillna() en PySpark es útil en muchos casos de uso, algunos de los cuales se muestran a continuación:
- Reemplazo de valores NaN con una constante o un valor específico en columnas específicas.
- Reemplazo de valores NaN con valores calculados, como la media o la mediana de la columna.
- Reemplazo de valores NaN con el valor anterior o posterior en una columna determinada.
Conclusión
El método fillna() en PySpark proporciona una forma efectiva de remplazar los valores NaN en grandes conjuntos de datos. En este artículo, hemos experimentado con diferentes formas de utilizar este método y hemos explicado cómo puede ser útil para casos de uso específicos.
Preguntas Frecuentes
¿Qué es PySpark?
PySpark es una herramienta de computación distribuida altamente escalable que permite el procesamiento de grandes conjuntos de datos.
¿Qué es el método fillna() en PySpark?
El método fillna() en PySpark es una función que se utiliza para reemplazar los valores Nulos o valores NaN presentes en los datos por un valor especificado.
¿Cuáles son los casos de uso del método fillna() en PySpark?
El método fillna() en PySpark es útil en muchos casos de uso, algunos de los cuales se muestran a continuación:
- Reemplazo de valores NaN con una constante o un valor específico en columnas específicas.
- Reemplazo de valores NaN con valores calculados, como la media o la mediana de la columna.
- Reemplazo de valores NaN con el valor anterior o posterior en una columna determinada.
¿Se pueden remplazar los valores NaN en todas las columnas del DataFrame en PySpark?
Sí, se puede remplazar los valores NaN en todas las columnas del DataFrame en PySpark utilizando el método fillna() sin especificar subset.
[nekopost slugs="convertir-el-tipo-de-entero-2-de-la-columna-pyspark-dataframe-string-t,pyspark-union-y-unionall,con-columnenamed-pyspark,soltar-pyspark,pyspark-contiene,pyspark-medio,metodo-de-subcadena-de-pyspark,max-pyspark,pyspark-explode-explode-outer"]

Deja una respuesta