![Cómo agregar un nuevo usuario en Debian 11](https://trspos.com/wp-content/uploads/adinng-nuevo-usuario-debian-400x267.jpg)
PySpark – distinct()
![PySpark – distinct()](https://trspos.com/wp-content/uploads/pyspark-distinto.jpg)
En PySpark, la función distinct() se utiliza para obtener los valores únicos o distintos de una columna en un dataframe. Esta función nos permite crear un conjunto único de elementos a partir de un conjunto de elementos repetidos. En este artículo, exploraremos cómo utilizar la función distinct() en PySpark de manera efectiva.
Sintaxis
La sintaxis básica de la función distinct() es la siguiente:
df.select("columna").distinct()
donde "columna" es el nombre de la columna de la que se desean los valores distintos.
Ejemplo
Supongamos que tenemos el siguiente dataframe:
| Nombre | Edad |
|--------|------|
| Juan | 18 |
| Pedro | 21 |
| Ana | 18 |
| Juan | 25 |
| Pedro | 19 |
Si queremos obtener los nombres de todas las personas del dataframe de manera única, utilizamos la siguiente expresión:
df.select("Nombre").distinct()
Esto nos dará un nuevo dataframe con los valores únicos de la columna "Nombre":
| Nombre |
|--------|
| Juan |
| Pedro |
| Ana |
Aplicación de la función distinct()
La función distinct() se puede aplicar tanto en una sola columna como en varias columnas de un dataframe. En el siguiente ejemplo, utilizamos la función distinct() en dos columnas del dataframe:
df.select(["Nombre", "Edad"]).distinct()
Esto nos dará un nuevo dataframe con los valores únicos de las columnas "Nombre" y "Edad":
| Nombre | Edad |
|--------|------|
| Juan | 18 |
| Pedro | 21 |
| Ana | 18 |
| Juan | 25 |
| Pedro | 19 |
Filtrado y distinct()
La función distinct() también se puede combinar con filtros de dataframe para obtener valores únicos que satisfagan una determinada condición. En el siguiente ejemplo, utilizamos la función distinct() en la columna "Nombre", después de aplicar un filtro sobre la columna "Edad":
df.filter(df.Edad > 20).select("Nombre").distinct()
Esto nos dará un nuevo dataframe con los valores únicos de la columna "Nombre" donde "Edad" es mayor que 20:
| Nombre |
|--------|
| Pedro |
| Juan |
Conclusión
La función distinct() en PySpark es una herramienta útil para obtener valores únicos de una columna o conjunto de columnas. Ya sea que se aplique a una sola columna o se utilice en combinación con filtros de dataframe, puede ser de gran ayuda para simplificar nuestras tareas de manipulación de datos. Asegúrate de tener en cuenta esta función la próxima vez que necesites obtener valores únicos de un dataframe en PySpark.
Preguntas frecuentes
¿Qué hace la función distinct() en PySpark?
La función distinct() en PySpark se utiliza para obtener valores únicos o distintos de una columna o conjunto de columnas en un dataframe.
¿Cómo se utiliza la función distinct() en PySpark?
La sintaxis básica de la función distinct() es df.select("columna").distinct()
, donde "columna" es el nombre de la columna de la que se desean los valores distintos.
¿Puedo utilizar la función distinct() con filtros de dataframe en PySpark?
Sí, la función distinct() también se puede combinar con filtros de dataframe para obtener valores únicos que satisfagan una determinada condición.
¿Puedo utilizar la función distinct() en varias columnas de un dataframe?
Sí, la función distinct() se puede aplicar tanto en una sola columna como en varias columnas de un dataframe.
Ejemplos de código
- Sintaxis básica:
- Distinct() en varias columnas:
- Distinct() con filtrado:
df.select("columna").distinct()
df.select(["Nombre", "Edad"]).distinct()
df.filter(df.Edad > 20).select("Nombre").distinct()
Deja una respuesta