En este artículo, vamos a convertir el marco de datos de Pyspark en una lista de tuplas.
Las filas en el marco de datos se almacenan en la lista separadas por un operador de coma. Así que vamos a crear un marco de datos usando una lista anidada
Creando Dataframe para demostración:
Python3
# importing module import pyspark # 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", 67, 89], ["2", "ojaswi", "vvit", 78, 89], ["3", "rohith", "vvit", 100, 80], ["4", "sridevi", "vignan", 78, 80], ["1", "sravan", "vignan", 89, 98], ["5", "gnanesh", "iit", 94, 98]] # specify column names columns = ['student ID', 'student NAME', 'college', 'subject1', 'subject2'] # creating a dataframe from the lists of data dataframe = spark.createDataFrame(data, columns) # display dataframe.show()
Producción:
Método 1: usar el método de recopilación()
Al convertir cada fila en una tupla y agregar las filas a una lista, podemos obtener los datos en el formato de lista de tupla.
tuple(): se utiliza para convertir datos en formato de tupla
Sintaxis: tupla(filas)
Ejemplo: convertir un marco de datos en una lista de tuplas.
Python3
# define a list l=[] # collect data from the dataframe for i in dataframe.collect(): l.append(tuple(i)) # convert to tuple and append to list # print list of data print(l)
Producción:
[(‘1’, ‘sravan’, ‘vignan’, 67, 89), (‘2’, ‘ojaswi’, ‘vvit’, 78, 89),
(‘3’, ‘rohith’, ‘vvit’, 100, 80), (‘4’, ‘sridevi’, ‘vignan’, 78, 80),
(‘1’, ‘sravan’, ‘vignan’, 89, 98), (‘5’, ‘gnanesh’, ‘iit’, 94, 98)]
Método 2: Usar tuple() con rdd
Convierta rdd en una tupla usando la función map(), estamos usando las funciones map() y tuple() para convertir de rdd
Sintaxis: rdd.map(tuple)
Ejemplo: uso de RDD
Python3
# convert dataframe to rdd rdd = dataframe.rdd # convert rdd to tuple data = rdd.map(tuple) # display data data.collect()
Producción:
[('1', 'sravan', 'vignan', 67, 89), ('2', 'ojaswi', 'vvit', 78, 89), ('3', 'rohith', 'vvit', 100, 80), ('4', 'sridevi', 'vignan', 78, 80), ('1', 'sravan', 'vignan', 89, 98), ('5', 'gnanesh', 'iit', 94, 98)]
Publicación traducida automáticamente
Artículo escrito por sravankumar8128 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA