En este artículo, discutiremos cómo convertir la lista de diccionarios de Python a Pyspark DataFrame.
Se puede hacer de estas formas:
- Uso del esquema Inferir.
- Uso de esquema explícito
- Uso de la expresión SQL
Método 1: inferir el esquema del diccionario
Pasaremos el diccionario directamente al método createDataFrame().
Sintaxis: chispa.createDataFrame(datos)
Ejemplo: código de Python para crear un marco de datos pyspark a partir de una lista de diccionarios usando este método
Python3
# import the modules from pyspark.sql import SparkSession # Create Spark session app name # is GFG and master name is local spark = SparkSession.builder.appName("GFG").master("local") .getOrCreate() # dictionary list of college data data = [{"Name": 'sravan kumar', "ID": 1, "Percentage": 94.29}, {"Name": 'sravani', "ID": 2, "Percentage": 84.29}, {"Name": 'kumar', "ID": 3, "Percentage": 94.29} ] # Create data frame from dictionary list df = spark.createDataFrame(data) # display df.show()
Producción:
Método 2: usar un esquema explícito
Aquí vamos a crear un esquema y pasar el esquema junto con los datos al método createdataframe().
Estructura del esquema:
esquema = StructType([
StructField(‘columna_1’, Tipo de datos(), Falso),
StructField(‘columna_2’, Tipo de datos(), Falso)])
Donde las columnas son el nombre de las columnas del diccionario para obtener el marco de datos pyspark y el tipo de datos es el tipo de datos de la columna en particular.
Sintaxis: spark.createDataFrame(datos, esquema)
Dónde,
- data es la lista del diccionario
- esquema es el esquema de la trama de datos
Programa de Python para crear un marco de datos pyspark a partir de listas de diccionarios utilizando este método.
Python3
# import the modules from pyspark.sql import SparkSession from pyspark.sql.types import StructField, StructType, StringType, IntegerType, FloatType # Create Spark session app name is # GFG and master name is local spark = SparkSession.builder.appName("GFG").master("local") .getOrCreate() # dictionary list of college data data = [{"Name": 'sravan kumar', "ID": 1, "Percentage": 94.29}, {"Name": 'sravani', "ID": 2, "Percentage": 84.29}, {"Name": 'kumar', "ID": 3, "Percentage": 94.29} ] # specify the schema schema = StructType([ StructField('Name', StringType(), False), StructField('ID', IntegerType(), False), StructField('Percentage', FloatType(), True) ]) # Create data frame from # dictionary list through the schema df = spark.createDataFrame(data, schema) # display df.show()
Producción:
Método 3: usar la expresión SQL
Aquí estamos usando la función Fila para convertir la lista de diccionarios de python en un marco de datos de pyspark.
Sintaxis: spark.createDataFrame([Row(**iterator) for iterator in data])
dónde:
- createDataFrame() es el método para crear el marco de datos
- Row(**iterator) para iterar la lista de diccionarios.
- data es la lista del diccionario
Código de Python para convertir la lista de diccionarios en el marco de datos pyspark.
Python3
# import the modules from pyspark.sql import SparkSession, Row # Create Spark session app name # is GFG and master name is local spark = SparkSession.builder.appName("GFG").master("local") .getOrCreate() # dictionary list of college data data = [{"Name": 'sravan kumar', "ID": 1, "Percentage": 94.29}, {"Name": 'sravani', "ID": 2, "Percentage": 84.29}, {"Name": 'kumar', "ID": 3, "Percentage": 94.29} ] # create dataframe using sql expression dataframe = spark.createDataFrame([Row(**variable) for variable in data]) dataframe.show()
Producción:
Publicación traducida automáticamente
Artículo escrito por gottumukkalabobby y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA