Come concatenare le colonne in Pyspark DataFrame

Come concatenare le colonne in Pyspark DataFrame
In Python, Pyspark è un modulo Spark utilizzato per fornire un tipo di elaborazione simile come Spark utilizzando DataFrame. Possiamo concatenare due o più colonne in un telaio di dati usando due metodi. Sono concat () e concat_ws (). Questi sono i metodi disponibili in Pyspark.SQL.modulo funzioni. Prima di conoscere questi metodi, creiamo un Frame Data Pyspark.

Esempio
In questo esempio, creeremo il frame dati pyspark con 5 righe e 6 colonne e lo visualizzeremo usando il metodo show ().

# Importa il modulo PysPark
importare pyspark
# Importa 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
Studenti = [
'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)
# Visualizza dati dati
df.spettacolo()

Produzione:

Pyspark - concat ()

Concat () si unirà a due o più colonne nel determinato Frame di dati Pyspark e aggiungerà questi valori in una nuova colonna.

Usando il metodo Select (), possiamo visualizzare la colonna concatenata e usando un metodo alias (), possiamo nominare la colonna concatenata.

Sintassi

DataFrame.Seleziona (concat (colonne, ...).alias ("new_column"))

Dove,

  1. DataFrame è il Frame dati Pyspark input
  2. Concat () - Ci vorranno più colonne per essere concatenate: la colonna verrà rappresentata utilizzando DataFrame.colonna
  3. new_column è il nome della colonna per la colonna concatenata.

Esempio 1
In questo esempio, concateremo le colonne di altezza e peso in una nuova colonna e nomineremo la colonna come indice del corpo. Infine, selezioneremo questa colonna e visualizzeremo il metodo di dati utilizzando il metodo show ().

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#import Concat Function
da pyspark.SQL.Funzioni Importa Concat
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Studenti = [
'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)
# Altezza e peso concatenanti in una nuova colonna denominata - "Body Index"
df.Seleziona (Concat (DF.altezza, df.peso).alias ("indice del corpo")).spettacolo()

Produzione:

Esempio 2
In questo esempio, concateremo le colonne Rollno, Nome e indirizzi in una nuova colonna e nomineremo la colonna come dettagli. Infine, selezioneremo questa colonna e visualizzeremo il metodo di dati utilizzando il metodo show ().

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#import Concat Function
da pyspark.SQL.Funzioni Importa Concat
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Studenti = [
'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)
# Concatenating Rollno, nome e indirizzo in una nuova colonna denominata - "Dettagli"
df.Seleziona (Concat (DF.Rollno, df.nome, df.indirizzo).alias ("dettagli")).spettacolo()

Produzione:

Pyspark - concat_ws ()

Concat_ws () si unirà a due o più colonne nel dati PysPark fornito e aggiungerà questi valori in una nuova colonna. Separerà i valori di ogni colonna con un separatore.

Usando il metodo Select (), possiamo visualizzare la colonna concatenata e usando un metodo alias (), possiamo nominare la colonna concatenata.

Sintassi

DataFrame.Seleziona (concat ("separatore", colonne, ...).alias ("new_column"))

Dove,

  1. DataFrame è il Frame dati Pyspark input
  2. Concat () - Ci vorranno più colonne per essere concatenate: la colonna verrà rappresentata utilizzando DataFrame.colonna
  3. new_column è il nome della colonna per la colonna concatenata.
  4. Il separatore può essere qualcosa di simile allo spazio, al carattere speciale, ecc.

Esempio 1
In questo esempio, concateremo le colonne di altezza e peso in una nuova colonna e nomineremo la colonna come indice del corpo separato con “_."Infine, selezioneremo questa colonna e visualizzeremo il metodo Show () utilizzando il metodo Show ().

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
Funzione #IMPORT CONCAT_WS
da pyspark.SQL.Funzioni Importa Concat_WS
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Studenti = [
'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)
# Altezza e peso concatenanti in una nuova colonna denominata - "Body Index"
df.Select (Concat_ws ("_", DF.altezza, df.peso).alias ("indice del corpo")).spettacolo()

Produzione:

Esempio 2
In questo esempio, concateremo le colonne Rollno, Nome e indirizzi in una nuova colonna e nomineremo la colonna come dettagli separati da “***."Infine, selezioneremo questa colonna e visualizzeremo il metodo Show () utilizzando il metodo Show ().

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
Funzione #IMPORT CONCAT_WS
da pyspark.SQL.Funzioni Importa Concat_WS
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Studenti = [
'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)
# Concatenating Rollno, nome e indirizzo in una nuova colonna denominata - "Dettagli"
df.Seleziona (Concat_WS ("***", DF.Rollno, df.nome, df.indirizzo).alias ("dettagli")).spettacolo()

Produzione:

Conclusione

Possiamo concatenare due o più colonne usando metodi Concat () e Concat_WS (). La differenza principale tra i due metodi è che possiamo aggiungere un separatore nel metodo Concat_WS ().