Pyspark - WithColumn Method

Pyspark - WithColumn Method
In Python, Pyspark è un modulo Spark utilizzato per fornire un tipo di elaborazione simile come Spark utilizzando DataFrame.

withColumn () in pyspark viene utilizzato per eseguire le operazioni sulle colonne PysPark DataFrame. Le operazioni includono

  1. Modificare il tipo di dati della colonna
  2. Modifica i valori nella colonna
  3. Aggiungi una nuova colonna dalla colonna esistente

Prima di passare ai metodi, creeremo PysPark DataFrame

Esempio:

Qui creeremo un Frame dati Pyspark con 5 righe e 6 colonne.

#IMPORT Il modulo PYSPRK
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)
#display il frame dati
df.spettacolo()

Produzione:

Modificare il tipo di dati della colonna

Possiamo modificare il tipo di dati di una colonna particolare usando il metodo WithColumn ().

Sintassi:

DataFrame.WithColumn ("column_name", col ("column_name").cast ("tipo di dati"))

Parametri:

1. column_name è la colonna il cui tipo di dati viene modificato

2. La funzione col () viene utilizzata per ottenere il nome della colonna

3. Cast () viene utilizzato per modificare il tipo di dati della colonna da un tipo a un altro, accettando il nome del tipo di dati come parametro. I tipi di dati includono stringa, intero, doppio.

Esempio:

In questo esempio, l'altezza è del tipo di dati float. Possiamo cambiarlo in intero utilizzando il metodo sopra e visualizzando lo schema utilizzando il metodo e il telaio di dati stampati () utilizzando il metodo Collect ().

#IMPORT Il modulo PYSPRK
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)
#Convert Float Tipo a Intero Tipo di altezza colonna
df = df.WithColumn ("altezza", col ("altezza").cast ("intero"))
#Display Modified DataFrame
Stampa (df.raccogliere())
#llets visualizza lo schema
df.printschema ()

Produzione:

[Riga (indirizzo = 'guntur', età = 23, altezza = 5, nome = 'sravan', rollno = '001', peso = 67), riga (indirizzo = 'hyd', età = 16, altezza = 3, name = 'ojaswi', rollno = '002', peso = 34), riga (indirizzo = 'patna', età = 7, altezza = 2, nome = 'gnanesh chowdary', rollno = '003', peso = 17) , Riga (indirizzo = 'hyd', età = 9, altezza = 3, nome = 'rohith', rollno = '004', peso = 28), riga (indirizzo = 'hyd', età = 37, altezza = 5, name = 'sridevi', rollno = '005', peso = 54)]
radice
|- Indirizzo: String (Nullable = True)
|- Age: Long (Nullable = True)
|- altezza: intero (nulllable = true)
|- Nome: String (Nullable = True)
|- rollno: string (nulllable = true)
|- Peso: lungo (Nullable = True)

Modifica i valori nella colonna

Possiamo modificare i valori di una particolare colonna usando il metodo WithColumn ().

Sintassi:

DataFrame.withColumn ("column_name", col ("column_name")

Parametri:

1. column_name è la colonna il cui tipo di dati viene modificato

2. La funzione col () viene utilizzata per modificare i valori nel nome della colonna

Esempio:

In questo esempio, sottrarremo ogni valore nella colonna di peso di 10.

#IMPORT Il modulo PYSPRK
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)
#decrease ogni valore nella colonna di peso di 10
df = df.WithColumn ("peso", col ("peso")-10)
#Display Modified DataFrame
Stampa (df.raccogliere())
#llets visualizza lo schema
df.printschema ()

Produzione:

[Riga (indirizzo = 'guntur', età = 23, altezza = 5.79, name = 'sravan', rollno = '001', peso = 57), riga (indirizzo = 'hyd', età = 16, altezza = 3.79, nome = 'ojaswi', rollno = '002', peso = 24), riga (indirizzo = 'patna', età = 7, altezza = 2.79, nome = 'gnanesh chowdary', rollno = '003', peso = 7), riga (indirizzo = 'hyd', età = 9, altezza = 3.69, name = 'rohith', rollno = '004', peso = 18), riga (indirizzo = 'hyd', età = 37, altezza = 5.59, name = 'sridevi', rollno = '005', peso = 44)]
radice
|- Indirizzo: String (Nullable = True)
|- Age: Long (Nullable = True)
|- altezza: doppio (nulllable = true)
|- Nome: String (Nullable = True)
|- rollno: string (nulllable = true)
|- Peso: lungo (Nullable = True)

Aggiungi una nuova colonna dalla colonna esistente

Possiamo aggiungere una nuova colonna da una colonna esistente usando il metodo WithColumn ().

Sintassi:

DataFrame.WithColumn ("new_column", col ("column_name")

Parametri:

1. new_column è la colonna

2. La funzione col () viene utilizzata per aggiungere i suoi valori di colonna al new_column

Esempio:

Questo esempio creerà una nuova colonna: "potenza" e aggiungerà valori a questa colonna, moltiplicando ogni valore nella colonna Peso per 10.

#IMPORT Il modulo PYSPRK
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)
#Add Column denominata Power
#dalla colonna di peso moltiplicata per 2
df = df.WithColumn ("Power", col ("peso")* 2)
#Display Modified DataFrame
Stampa (df.raccogliere())
#llets visualizza lo schema
df.printschema ()

Produzione:

[Riga (indirizzo = 'guntur', età = 23, altezza = 5.79, name = 'sravan', rollno = '001', peso = 67, potenza = 134), riga (indirizzo = 'hyd', età = 16, altezza = 3.79, name = 'ojaswi', rollno = '002', peso = 34, potenza = 68), riga (indirizzo = 'patna', età = 7, altezza = 2.79, nome = 'gnanesh chowdary', rollno = '003', peso = 17, potenza = 34), riga (indirizzo = 'hyd', età = 9, altezza = 3.69, name = 'rohith', rollno = '004', peso = 28, potenza = 56), riga (indirizzo = 'hyd', età = 37, altezza = 5.59, name = 'sridevi', rollno = '005', peso = 54, potenza = 108)]
radice
|- Indirizzo: String (Nullable = True)
|- Age: Long (Nullable = True)
|- altezza: doppio (nulllable = true)
|- Nome: String (Nullable = True)
|- rollno: string (nulllable = true)
|- Peso: lungo (Nullable = True)
|- Potenza: Long (Nullable = True)

Conclusione:

Questo articolo ha discusso di come modificare i tipi di dati, modificare i valori nelle colonne esistenti e aggiungere una nuova colonna usando il metodo WithColumn ().