Convierta el marco de datos de PySpark en una lista de tuplas

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

Deja una respuesta

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