En este artículo, veremos cómo cambiar el nombre de varias columnas en PySpark Dataframe.
Antes de comenzar, creemos un marco de datos usando pyspark:
Python3
# importing module import pyspark from pyspark.sql.functions import col # importing sparksession from pyspark.sql module from pyspark.sql import SparkSession # creating sparksession and giving an app name spark = SparkSession.builder.appName('sparkdf').getOrCreate() # list of students data data = [["1", "sravan", "vignan"], ["2", "ojaswi", "vvit"], ["3", "rohith", "vvit"], ["4", "sridevi", "vignan"], ["1", "sravan", "vignan"], ["5", "gnanesh", "iit"]] # specify column names columns = ['student ID', 'student NAME', 'college'] # creating a dataframe from the lists of data dataframe = spark.createDataFrame(data, columns) print("Actual data in dataframe") # show dataframe dataframe.show()
Producción:
Método 1: usar withColumnRenamed.
Aquí usaremos withColumnRenamed() para cambiar el nombre de las columnas existentes.
Sintaxis: withColumnRenamed( Existing_col, New_col)
Parámetros:
- Existing_col: nombre de columna anterior.
- New_col: Nuevo nombre de columna.
Ejemplo 1: cambio de nombre de columnas individuales.
Python3
dataframe.withColumnRenamed("college", "College Name").show()
Producción:
Ejemplo 2: cambio de nombre de varias columnas.
Python3
df2 = dataframe.withColumnRenamed("student ID", "Id").withColumnRenamed("college", "College_Name") df2.show()
Producción:
Método 2: Usar toDF()
Esta función devuelve un nuevo DataFrame con nuevos nombres de columna especificados.
Sintaxis: toDF(*col)
Donde, col es un nuevo nombre de columna
En este ejemplo, crearemos una lista ordenada de nuevos nombres de columna y la pasaremos a la función toDF.
Python3
Data_list = ["College Id"," Name"," College"] new_df = dataframe.toDF(*Data_list) new_df.show()
Producción:
Publicación traducida automáticamente
Artículo escrito por kumar_satyam y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA