ejemplo
En este ejemplo, creamos el PySpark DataFrame con 5 filas y 6 columnas y lo mostramos usando el método show().
importar PySpark
#import SparkSession para crear una sesión
fuera de PySpark.sql importar SparkSession
#crear una aplicación llamada linuxhint
chispa_app = SparkSession.constructor.nombre de la aplicación(‘linuxhint’).obtener o crear()
# Crear datos de estudiantes con 5 filas y 6 atributos
estudiantes =[{‘rollno’:‘001’,‘name’:‘sravan’,‘age’:23,‘height’:5.79,‘weight’:67,‘address’:‘guntur’},
{‘rollno’:‘002’,‘name’:‘ojaswi’,‘age’:16,‘height’:3.79,‘weight’:34,‘address’:‘hyd’},
{‘rollno’:‘003’,‘name’:‘gnanesh chowdary’,‘age’:7,‘height’:2.79,‘weight’:17,‘address’:‘patna’},
{‘rollno’:‘004’,‘name’:‘rohith’,‘age’:9,‘height’:3.69,‘weight’:28,‘address’:‘hyd’},
{‘rollno’:‘005’,‘name’:‘sridevi’,‘age’:37,‘height’:5.59,‘weight’:54,‘address’:‘hyd’}]
# Crear el marco de datos
d.f. = chispa_aplicación.Crear marco de datos( estudiantes)
#Mostrar marco de datos
d.f.show()
Producción:
PySpark – concat()
concat() conecta dos o más columnas en el PySpark DataFrame especificado y agrega esos valores a una nueva columna.
Usando el método select() podemos mostrar la columna concatenada, y usando un método alias() podemos nombrar la columna concatenada.
sintaxis
marco de datos.escoger(concat(columnas,……..).alias(«nueva_columna»))
Donde,
- dataframe es el dataframe PySpark de entrada
- concat(): se deben concatenar varias columnas: la columna se representa mediante el uso de dataframe.column
- new_column es el nombre de columna para la columna concatenada.
Ejemplo 1
En este ejemplo, concatenaremos las columnas de altura y peso en una nueva columna y nombraremos la columna Índice del cuerpo. Finalmente, solo seleccionamos esta columna y mostramos el DataFrame con el método show().
importar PySpark
#import SparkSession para crear una sesión
fuera de PySpark.sql importar SparkSession
# Función de concatenación de importación
fuera de PySpark.sql.funciones importar concat
#crear una aplicación llamada linuxhint
chispa_app = SparkSession.constructor.nombre de la aplicación(‘linuxhint’).obtener o crear()
# Crear datos de estudiantes con 5 filas y 6 atributos
estudiantes =[{‘rollno’:‘001’,‘name’:‘sravan’,‘age’:23,‘height’:5.79,‘weight’:67,‘address’:‘guntur’},
{‘rollno’:‘002’,‘name’:‘ojaswi’,‘age’:16,‘height’:3.79,‘weight’:34,‘address’:‘hyd’},
{‘rollno’:‘003’,‘name’:‘gnanesh chowdary’,‘age’:7,‘height’:2.79,‘weight’:17,‘address’:‘patna’},
{‘rollno’:‘004’,‘name’:‘rohith’,‘age’:9,‘height’:3.69,‘weight’:28,‘address’:‘hyd’},
{‘rollno’:‘005’,‘name’:‘sridevi’,‘age’:37,‘height’:5.59,‘weight’:54,‘address’:‘hyd’}]
# Crear el marco de datos
d.f. = chispa_aplicación.Crear marco de datos( estudiantes)
# Concatenar altura y peso en una nueva columna llamada «Índice corporal».
d.f.escoger(concat(d.f.Altura,d.f.carga).alias(«índice corporal»)).show()
Producción:
ejemplo 2
En este ejemplo, concatenamos las columnas rollno, nombre y dirección en una nueva columna y nombramos la columna Detalles. Finalmente, solo seleccionamos esta columna y mostramos el DataFrame con el método show().
importar PySpark
#import SparkSession para crear una sesión
fuera de PySpark.sql importar SparkSession
# Función de concatenación de importación
fuera de PySpark.sql.funciones importar concat
#crear una aplicación llamada linuxhint
chispa_app = SparkSession.constructor.nombre de la aplicación(‘linuxhint’).obtener o crear()
# Crear datos de estudiantes con 5 filas y 6 atributos
estudiantes =[{‘rollno’:‘001’,‘name’:‘sravan’,‘age’:23,‘height’:5.79,‘weight’:67,‘address’:‘guntur’},
{‘rollno’:‘002’,‘name’:‘ojaswi’,‘age’:16,‘height’:3.79,‘weight’:34,‘address’:‘hyd’},
{‘rollno’:‘003’,‘name’:‘gnanesh chowdary’,‘age’:7,‘height’:2.79,‘weight’:17,‘address’:‘patna’},
{‘rollno’:‘004’,‘name’:‘rohith’,‘age’:9,‘height’:3.69,‘weight’:28,‘address’:‘hyd’},
{‘rollno’:‘005’,‘name’:‘sridevi’,‘age’:37,‘height’:5.59,‘weight’:54,‘address’:‘hyd’}]
# Crear el marco de datos
d.f. = chispa_aplicación.Crear marco de datos( estudiantes)
# concatenar rollno, nombre y dirección en una nueva columna llamada – «Detalles».
d.f.escoger(concat(d.f.rodar no,d.f.Apellido,d.f.dirección).alias(«Detalles»)).show()
Producción:
PySpark – concat_ws()
Concat_ws() conecta dos o más columnas en el PySpark DataFrame especificado y agrega esos valores a una nueva columna. Separa los valores de cada columna con un separador.
Usando el método select() podemos mostrar la columna concatenada, y usando un método alias() podemos nombrar la columna concatenada.
sintaxis
marco de datos.escoger(concat(«Separador»,columnas,……..).alias(«nueva_columna»))
Donde,
- dataframe es el dataframe PySpark de entrada
- concat(): se deben concatenar varias columnas: la columna se representa mediante el uso de dataframe.column
- new_column es el nombre de columna para la columna concatenada.
- El delimitador puede ser cualquier cosa, como espacios, caracteres especiales, etc.
Ejemplo 1
En este ejemplo, concatenamos las columnas de altura y peso en una nueva columna y llamamos Índice del cuerpo de la columna, separados por «_». Finalmente, solo seleccionamos esta columna y mostramos el DataFrame con el método show().
importar PySpark
#import SparkSession para crear una sesión
fuera de PySpark.sql importar SparkSession
Importar función #concat_ws
fuera de PySpark.sql.funciones importar concat_ws
#crear una aplicación llamada linuxhint
chispa_app = SparkSession.constructor.nombre de la aplicación(‘linuxhint’).obtener o crear()
# Crear datos de estudiantes con 5 filas y 6 atributos
estudiantes =[{‘rollno’:‘001’,‘name’:‘sravan’,‘age’:23,‘height’:5.79,‘weight’:67,‘address’:‘guntur’},
{‘rollno’:‘002’,‘name’:‘ojaswi’,‘age’:16,‘height’:3.79,‘weight’:34,‘address’:‘hyd’},
{‘rollno’:‘003’,‘name’:‘gnanesh chowdary’,‘age’:7,‘height’:2.79,‘weight’:17,‘address’:‘patna’},
{‘rollno’:‘004’,‘name’:‘rohith’,‘age’:9,‘height’:3.69,‘weight’:28,‘address’:‘hyd’},
{‘rollno’:‘005’,‘name’:‘sridevi’,‘age’:37,‘height’:5.59,‘weight’:54,‘address’:‘hyd’}]
# Crear el marco de datos
d.f. = chispa_aplicación.Crear marco de datos( estudiantes)
# Concatenar altura y peso en una nueva columna llamada «Índice corporal».
d.f.escoger(concat_ws(«_»,d.f.Altura,d.f.carga).alias(«índice corporal»)).show()
Producción:
ejemplo 2
En este ejemplo, concatenamos las columnas rollno, nombre y dirección en una nueva columna y nombramos la columna como Detalles, separados por «***». Finalmente, solo seleccionamos esta columna y mostramos el DataFrame con el método show().
importar PySpark
#import SparkSession para crear una sesión
fuera de PySpark.sql importar SparkSession
Importar función #concat_ws
fuera de PySpark.sql.funciones importar concat_ws
#crear una aplicación llamada linuxhint
chispa_app = SparkSession.constructor.nombre de la aplicación(‘linuxhint’).obtener o crear()
# Crear datos de estudiantes con 5 filas y 6 atributos
estudiantes =[{‘rollno’:‘001’,‘name’:‘sravan’,‘age’:23,‘height’:5.79,‘weight’:67,‘address’:‘guntur’},
{‘rollno’:‘002’,‘name’:‘ojaswi’,‘age’:16,‘height’:3.79,‘weight’:34,‘address’:‘hyd’},
{‘rollno’:‘003’,‘name’:‘gnanesh chowdary’,‘age’:7,‘height’:2.79,‘weight’:17,‘address’:‘patna’},
{‘rollno’:‘004’,‘name’:‘rohith’,‘age’:9,‘height’:3.69,‘weight’:28,‘address’:‘hyd’},
{‘rollno’:‘005’,‘name’:‘sridevi’,‘age’:37,‘height’:5.59,‘weight’:54,‘address’:‘hyd’}]
# Crear el marco de datos
d.f. = chispa_aplicación.Crear marco de datos( estudiantes)
# concatenar rollno, nombre y dirección en una nueva columna llamada – «Detalles».
d.f.escoger(concat_ws(«***»,d.f.rodar no,d.f.Apellido,d.f.dirección).alias(«Detalles»)).show()
Producción:
Conclusión
Podemos concatenar dos o más columnas usando los métodos concat() y concat_ws(). La principal diferencia entre los dos métodos es que podemos agregar un delimitador en el método concat_ws().