¿Cómo obtener el nombre de la columna del marco de datos en PySpark?

En este artículo, discutiremos cómo obtener el nombre de la columna Dataframe en PySpark. 

Para obtener el nombre de las columnas presentes en el marco de datos, estamos usando la función de columnas a través de esta función, obtendremos la lista de todos los nombres de columnas presentes en el marco de datos.

Sintaxis:

df.columns

También podemos obtener los nombres de las columnas de la lista de StructFields y luego extraer el nombre de las columnas de la lista de StructFields.

Sintaxis:

df.schema.fields

Vamos a crear un marco de datos de muestra a continuación:

Python

# importing necessary libraries
from pyspark.sql import SparkSession
 
 
# function to create new SparkSession
def create_session():
    spk = SparkSession.builder \
        .master("local") \
        .appName("Product_details.com") \
        .getOrCreate()
    return spk
 
def create_df(spark, data, schema):
    df1 = spark.createDataFrame(data, schema)
    return df1
 
 
if __name__ == "__main__":
 
    input_data = [("Uttar Pradesh", 122000, 89600, 12238),
                  ("Maharashtra", 454000, 380000, 67985),
                  ("Tamil Nadu", 115000, 102000, 13933),
                  ("Karnataka", 147000, 111000, 15306),
                  ("Kerala", 153000, 124000, 5259)]
 
    # calling function to create SparkSession
    spark = create_session()
 
    schema = ["State", "Cases", "Recovered", "Deaths"]
 
    # calling function to create dataframe
    df = create_df(spark, input_data, schema)
 
    # visualizing the dataframe
    df.show()

Producción:

Ejemplo 1: Usando df.columns

En el ejemplo, hemos creado el marco de datos, luego obtenemos la lista de nombres de columnas presentes en el marco de datos usando df.columns, luego imprimimos la lista de nombres de columnas.

Python

# getting the list of column names
col = df.columns
 
# printing
print(f'List of column names: {col}')
 
# visualizing the dataframe
df.show()

Producción:

Ejemplo 2: uso de df.schema.fields 

En el ejemplo, hemos creado el Dataframe, luego estamos obteniendo la lista de StructFields que contiene el nombre de la columna, el tipo de datos de la columna y el indicador anulable.

Hemos almacenado esta lista de StructFields en la variable nombrada como ‘campo’, luego iteramos el ciclo for del campo y para obtener el recuento de la iteración hemos tomado el recuento y usamos la función enumerate() para obtener el recuento de 1 en adelante tenemos pasó 1 después de pasar el campo en la función enumerate(). Luego imprima el conteo y los nombres de la columna simultáneamente. 

Python

# getting the list of StructFields
field = df.schema.fields
 
# using for loop to iterate and enumerate
# for indexing or numbering
for count, col_name in enumerate(field, 1):
   
    # printing the column names
    print(count, "-", col_name.name)
 
    # visualizing the dataframe
    df.show()

Producción:

Ejemplo 3: Uso de df.printSchema()

Otra forma de ver u obtener los nombres de la columna presente en el marco de datos podemos ver el esquema del marco de datos, esto se puede hacer mediante la función printSchema() esta función se usa para imprimir el esquema del marco de datos de ese esquema podemos ver todos los nombres de las columnas. 

Python

# printing Dataframe schema to
# get the column names
df.printSchema()
 
# visualizing the dataframe
df.show()

 
 Producción:

Publicación traducida automáticamente

Artículo escrito por srishivansh5404 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 *