¿Cómo cambiar el nombre de varias columnas en el marco de datos de PySpark?

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

Deja una respuesta

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