Converti Pyspark DataFrame in Pandas DataFrame

Converti Pyspark DataFrame in Pandas DataFrame

In Python, Pyspark è un modulo Spark utilizzato per fornire un tipo di elaborazione simile come Spark utilizzando DataFrame. Fornisce i vari metodi per restituire le righe migliori dal frame dati Pyspark.

Panda è un modulo utilizzato per l'analisi dei dati. Supporta tre strutture di dati: serie, dati di dati e pannello. Possiamo convertire PysPark DataFrame in Pandas DataFrame una volta che abbiamo PysPark DataFrame.

Creiamo prima Pyspark DataFrame.

Esempio:

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Students = ['rollno': '001', 'name': 'sravan', 'age': 23, 'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi', 'age': 16, 'altezza': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7, 'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9, 'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37, 'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
# DataFrame
df.spettacolo()

Produzione:

topandas () è un metodo che convertirà Pyspark DataFrame in Pandas DataFrame.

Sintassi:

DataFrame.topandas ()

dove il frame dati è il frame dati di input pyspark.

Esempio:

In questo esempio, stiamo convertendo al di sopra di Pyspark DataFrame in Pandas DataFrame.

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Students = ['rollno': '001', 'name': 'sravan', 'age': 23, 'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi', 'age': 16, 'altezza': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7, 'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9, 'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37, 'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
#Convert su Pandas DataFrame
Stampa (df.topandas ())

Produzione:

Possiamo iterare il frame dati tramite iTerrows () convertendo Pyspark in panda.

iTerrows ()

Questo metodo viene utilizzato per iterare le colonne nel determinato Frame Pyspark convertendo in Panda DataFrame, può essere utilizzato con Loop e prende i nomi delle colonne attraverso l'iteratore di riga e l'indice per iterare le colonne. Infine, visualizzerà le righe secondo gli indici specificati.

Sintassi:

per indice, row_iterator in dati.topandas ().iTerrows ():
print (row_iterator [index_value], ...)

Dove:

  1. DataFrame è il Frame dati Pyspark input.
  2. INDICE_VALUE è la posizione dell'indice della colonna nel frame dati pyspark.
  3. Row_iterator è la variabile iteratore utilizzata per iterare i valori delle righe nella colonna specificata.

Esempio 1:

In questo esempio, stiamo iterando le righe dall'indirizzo e nelle colonne di altezza dal precedente Pyspark DataFrame.

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#importa la funzione Col
da pyspark.SQL.Funzioni importanti col
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Students = ['rollno': '001', 'name': 'sravan', 'age': 23, 'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi', 'age': 16, 'altezza': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7, 'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9, 'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37, 'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
#itera l'indirizzo e le colonne di altezza
per indice, row_iterator in df.topandas ().iTerrows ():
print (row_iterator [0], row_iterator [1])

Produzione:

Guntur 23
Hyd 16
Patna 7
Hyd 9
Hyd 37

Esempio 2:

In questo esempio, stiamo iterando le righe dalle colonne dell'indirizzo e dei nomi dal Frame dati Pyspark sopra.

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#importa la funzione Col
da pyspark.SQL.Funzioni importanti col
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Students = ['rollno': '001', 'name': 'sravan', 'age': 23, 'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi', 'age': 16, 'altezza': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7, 'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9, 'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37, 'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
#itera l'indirizzo e le colonne di nome
per indice, row_iterator in df.topandas ().iTerrows ():
print (row_iterator [0], row_iterator [3])

Produzione:

Guntur Sravan
Hyd Ojaswi
Patna Gnanesh Chowdary
Hyd Rohith
Hyd Sridevi

Conclusione

In questo tutorial, abbiamo discusso di convertire PysPark DataFrame in Pandas DataFrame utilizzando il metodo Topandas () e ha iterate il metodo Panda Data Using ITerrows ().