Comment concaténer les colonnes dans Pyspark DataFrame

Comment concaténer les colonnes dans Pyspark DataFrame
Dans Python, Pyspark est un module Spark utilisé pour fournir un type de traitement similaire comme Spark en utilisant DataFrame. Nous pouvons concaténer deux colonnes ou plus dans un dataframe en utilisant deux méthodes. Ils sont concat () et concat_ws (). Ce sont les méthodes disponibles à Pyspark.SQL.module de fonctions. Avant d'aller connaître ces méthodes, créons un pyspark dataframe.

Exemple
Dans cet exemple, nous créerons le Pyspark DataFrame avec 5 lignes et 6 colonnes et l'afficher à l'aide de la méthode Show ().

# Importer le module Pyspark
Importer Pyspark
# Importer des dépercussions pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
# Créer une application nommée Linuxhint
Spark_App = Sparkcession.constructeur.appname ('Linuxhint').getorCreate ()
# Créer des données étudiants avec 5 lignes et 6 attributs
étudiants = [
'rollno': '001', 'name': 'sravan', 'Âge': 23,
'Hauteur': 5.79, «poids»: 67, «adresse»: «guntur»,
'rollno': '002', 'name': 'ojaswi', 'Âge': 16,
'Hauteur': 3.79, «poids»: 34, «adresse»: «hyd»,
'rollno': '003', 'name': 'gnanesh chowdary', 'Âge': 7,
'Hauteur': 2.79, «poids»: 17, «adresse»: «patna»,
'rollno': '004', 'name': 'rohith', 'Âge': 9,
'Hauteur': 3.69, «poids»: 28, «adresse»: «hyd»,
'rollno': '005', 'name': 'sridevi', 'Âge': 37,
'Hauteur': 5.59, «poids»: 54, «adresse»: «hyd»]
# Créer le DataFrame
df = spark_app.CreatedataFrame (étudiants)
# Afficher DataFrame
df.montrer()

Sortir:

Pyspark - Concat ()

Concat () rejoindra deux colonnes ou plus dans le Pyspark DataFrame donné et ajoutera ces valeurs dans une nouvelle colonne.

En utilisant la méthode select (), nous pouvons afficher la colonne concaténée, et en utilisant une méthode alias (), nous pouvons nommer la colonne concaténée.

Syntaxe

trame de données.SELECT (Concat (colonnes,…).alias ("new_column"))

où,

  1. DataFrame est l'entrée Pyspark DataFrame
  2. concat () - il faudra plusieurs colonnes pour être concaténées - la colonne sera représentée en utilisant DataFrame.colonne
  3. new_column est le nom de colonne de la colonne concaténée.

Exemple 1
Dans cet exemple, nous concaterons les colonnes de taille et de poids dans une nouvelle colonne et nommerons la colonne comme index du corps. Enfin, nous ne sélectionnerons cette colonne que et afficherons le DataFrame à l'aide de la méthode Show ().

# importer le module Pyspark
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
Fonction de concat #Import
de Pyspark.SQL.Fonctions Import Concat
#create une application nommée Linuxhint
Spark_App = Sparkcession.constructeur.appname ('Linuxhint').getorCreate ()
# Créer des données étudiants avec 5 lignes et 6 attributs
étudiants = [
'rollno': '001', 'name': 'sravan', 'Âge': 23,
'Hauteur': 5.79, «poids»: 67, «adresse»: «guntur»,
'rollno': '002', 'name': 'ojaswi', 'Âge': 16,
'Hauteur': 3.79, «poids»: 34, «adresse»: «hyd»,
'rollno': '003', 'name': 'gnanesh chowdary', 'Âge': 7,
'Hauteur': 2.79, «poids»: 17, «adresse»: «patna»,
'rollno': '004', 'name': 'rohith', 'Âge': 9,
'Hauteur': 3.69, «poids»: 28, «adresse»: «hyd»,
'rollno': '005', 'name': 'sridevi', 'Âge': 37,
'Hauteur': 5.59, «poids»: 54, «adresse»: «hyd»]
# Créer le DataFrame
df = spark_app.CreatedataFrame (étudiants)
# Conaténation de la taille et du poids dans une nouvelle colonne nommée - "Index du corps"
df.Sélectionner (Concat (DF.hauteur, df.lester).alias ("Index du corps")).montrer()

Sortir:

Exemple 2
Dans cet exemple, nous concaténerons les colonnes RollNo, Name et Address dans une nouvelle colonne et nommer la colonne comme détails. Enfin, nous ne sélectionnerons cette colonne que et afficherons le DataFrame à l'aide de la méthode Show ().

# importer le module Pyspark
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
Fonction de concat #Import
de Pyspark.SQL.Fonctions Import Concat
#create une application nommée Linuxhint
Spark_App = Sparkcession.constructeur.appname ('Linuxhint').getorCreate ()
# Créer des données étudiants avec 5 lignes et 6 attributs
étudiants = [
'rollno': '001', 'name': 'sravan', 'Âge': 23,
'Hauteur': 5.79, «poids»: 67, «adresse»: «guntur»,
'rollno': '002', 'name': 'ojaswi', 'Âge': 16,
'Hauteur': 3.79, «poids»: 34, «adresse»: «hyd»,
'rollno': '003', 'name': 'gnanesh chowdary', 'Âge': 7,
'Hauteur': 2.79, «poids»: 17, «adresse»: «patna»,
'rollno': '004', 'name': 'rohith', 'Âge': 9,
'Hauteur': 3.69, «poids»: 28, «adresse»: «hyd»,
'rollno': '005', 'name': 'sridevi', 'Âge': 37,
'Hauteur': 5.59, «poids»: 54, «adresse»: «hyd»]
# Créer le DataFrame
df = spark_app.CreatedataFrame (étudiants)
# Conaténation de Rollno, nom et adresse dans une nouvelle colonne nommée - "Détails"
df.Sélectionner (Concat (DF.rollno, df.nom, df.adresse).alias ("détails")).montrer()

Sortir:

Pyspark - concat_ws ()

CONCAT_WS () rejoindra deux colonnes ou plus dans le Pyspark DataFrame donné et ajoutera ces valeurs dans une nouvelle colonne. Il séparera les valeurs de chaque colonne avec un séparateur.

En utilisant la méthode select (), nous pouvons afficher la colonne concaténée, et en utilisant une méthode alias (), nous pouvons nommer la colonne concaténée.

Syntaxe

trame de données.SELECT (concat («séparateur», colonnes,…).alias ("new_column"))

où,

  1. DataFrame est l'entrée Pyspark DataFrame
  2. concat () - il faudra plusieurs colonnes pour être concaténées - la colonne sera représentée en utilisant DataFrame.colonne
  3. new_column est le nom de colonne de la colonne concaténée.
  4. Le séparateur peut être quelque chose comme l'espace, le caractère spécial, etc.

Exemple 1
Dans cet exemple, nous concaténerons les colonnes de taille et de poids dans une nouvelle colonne et nommerons la colonne comme un indice de corps séparé avec «_."Enfin, nous ne sélectionnerons cette colonne que et afficherons le DataFrame à l'aide de la méthode Show ().

# importer le module Pyspark
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
Fonction #import concat_ws
de Pyspark.SQL.Fonctions Importer Concat_Ws
#create une application nommée Linuxhint
Spark_App = Sparkcession.constructeur.appname ('Linuxhint').getorCreate ()
# Créer des données étudiants avec 5 lignes et 6 attributs
étudiants = [
'rollno': '001', 'name': 'sravan', 'Âge': 23,
'Hauteur': 5.79, «poids»: 67, «adresse»: «guntur»,
'rollno': '002', 'name': 'ojaswi', 'Âge': 16,
'Hauteur': 3.79, «poids»: 34, «adresse»: «hyd»,
'rollno': '003', 'name': 'gnanesh chowdary', 'Âge': 7,
'Hauteur': 2.79, «poids»: 17, «adresse»: «patna»,
'rollno': '004', 'name': 'rohith', 'Âge': 9,
'Hauteur': 3.69, «poids»: 28, «adresse»: «hyd»,
'rollno': '005', 'name': 'sridevi', 'Âge': 37,
'Hauteur': 5.59, «poids»: 54, «adresse»: «hyd»]
# Créer le DataFrame
df = spark_app.CreatedataFrame (étudiants)
# Conaténation de la taille et du poids dans une nouvelle colonne nommée - "Index du corps"
df.SELECT (CONCAT_WS ("_", DF.hauteur, df.lester).alias ("Index du corps")).montrer()

Sortir:

Exemple 2
Dans cet exemple, nous concaténerons les colonnes RollNo, Name et Address dans une nouvelle colonne et nommerons la colonne comme des détails séparés par «***."Enfin, nous ne sélectionnerons cette colonne que et afficherons le DataFrame à l'aide de la méthode Show ().

# importer le module Pyspark
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
Fonction #import concat_ws
de Pyspark.SQL.Fonctions Importer Concat_Ws
#create une application nommée Linuxhint
Spark_App = Sparkcession.constructeur.appname ('Linuxhint').getorCreate ()
# Créer des données étudiants avec 5 lignes et 6 attributs
étudiants = [
'rollno': '001', 'name': 'sravan', 'Âge': 23,
'Hauteur': 5.79, «poids»: 67, «adresse»: «guntur»,
'rollno': '002', 'name': 'ojaswi', 'Âge': 16,
'Hauteur': 3.79, «poids»: 34, «adresse»: «hyd»,
'rollno': '003', 'name': 'gnanesh chowdary', 'Âge': 7,
'Hauteur': 2.79, «poids»: 17, «adresse»: «patna»,
'rollno': '004', 'name': 'rohith', 'Âge': 9,
'Hauteur': 3.69, «poids»: 28, «adresse»: «hyd»,
'rollno': '005', 'name': 'sridevi', 'Âge': 37,
'Hauteur': 5.59, «poids»: 54, «adresse»: «hyd»]
# Créer le DataFrame
df = spark_app.CreatedataFrame (étudiants)
# Conaténation de Rollno, nom et adresse dans une nouvelle colonne nommée - "Détails"
df.SELECT (CONCAT_WS ("***", DF.rollno, df.nom, df.adresse).alias ("détails")).montrer()

Sortir:

Conclusion

Nous pouvons concaténer deux colonnes ou plus en utilisant des méthodes Concat () et Concat_Ws (). La principale différence entre les deux méthodes est que nous pouvons ajouter un séparateur dans la méthode concat_ws ().