Dans Python, Pyspark est un module Spark utilisé pour fournir un type de traitement similaire comme Spark en utilisant DataFrame.
WithColumn () dans Pyspark est utilisé pour effectuer les opérations sur les colonnes Pyspark DataFrame. Les opérations comprennent
- Modifier le type de données de la colonne
- Modifier les valeurs dans la colonne
- Ajouter une nouvelle colonne de la colonne existante
Avant de passer aux méthodes, nous créerons Pyspark DataFrame
Exemple:
Ici, nous allons créer un pyspark dataframe avec 5 lignes et 6 colonnes.
#IMPORT LE MODULE PYSPAPRK
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
#IMPORT LA FONCTION COL
de Pyspark.SQL.Fonctions Import Col
#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, 'height': 5.79, «poids»: 67, «adresse»: «guntur»,
'rollno': '002', 'name': 'ojaswi', 'Âge': 16, 'height': 3.79, «poids»: 34, «adresse»: «hyd»,
'rollno': '003', 'name': 'gnanesh chowdary', 'Âge': 7, 'height': 2.79, «poids»: 17, «adresse»: «patna»,
'rollno': '004', 'name': 'rohith', 'Âge': 9, 'height': 3.69, «poids»: 28, «adresse»: «hyd»,
'rollno': '005', 'name': 'sridevi', 'Âge': 37, 'height': 5.59, «poids»: 54, «adresse»: «hyd»]
# Créer le DataFrame
df = spark_app.CreatedataFrame (étudiants)
#display le dataframe
df.montrer()
Sortir:
Modifier le type de données de la colonne
Nous pouvons modifier le type de données d'une colonne particulière à l'aide de la méthode WithColumn ().
Syntaxe:
Trame de données.withColumn ("Column_name", col ("Column_name").cast ("dataType"))
Paramètres:
1. Column_name est la colonne dont le type de données est modifié
2. La fonction col () est utilisée pour obtenir le nom de la colonne
3. Cast () est utilisé pour modifier le type de données de colonne d'un type à un autre, en acceptant le nom du type de données en tant que paramètre. Les types de données incluent la chaîne, entier, double.
Exemple:
Dans cet exemple, la hauteur est du type de données flottantes. Nous pouvons le changer en entier en utilisant la méthode ci-dessus et en affichant le schéma à l'aide de la méthode Printchema () et de DataFrame à l'aide de la méthode Collect ().
#IMPORT LE MODULE PYSPAPRK
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
#IMPORT LA FONCTION COL
de Pyspark.SQL.Fonctions Import Col
#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, 'height': 5.79, «poids»: 67, «adresse»: «guntur»,
'rollno': '002', 'name': 'ojaswi', 'Âge': 16, 'height': 3.79, «poids»: 34, «adresse»: «hyd»,
'rollno': '003', 'name': 'gnanesh chowdary', 'Âge': 7, 'height': 2.79, «poids»: 17, «adresse»: «patna»,
'rollno': '004', 'name': 'rohith', 'Âge': 9, 'height': 3.69, «poids»: 28, «adresse»: «hyd»,
'rollno': '005', 'name': 'sridevi', 'Âge': 37, 'height': 5.59, «poids»: 54, «adresse»: «hyd»]
# Créer le DataFrame
df = spark_app.CreatedataFrame (étudiants)
#convert Float Type to Integer Type of Height Colonne
df = df.WithColumn ("Height", Col ("Hight").cast ("entier"))
#Display DataFrame modifié
Imprimer (DF.collecter())
#llets affiche le schéma
df.impriméschema ()
Sortir:
[Row (adresse = 'guntur', âge = 23, hauteur = 5, name = 'sravan', rollno = '001', poids = 67), ligne (adresse = 'hyd', âge = 16, hauteur = 3, name = 'ojaswi', rollno = '002', poids = 34), ligne (adresse = 'patna', âge = 7, hauteur = 2, name = 'gnanesh chowdary', rollno = '003', poids = 17) . name = 'sridevi', rollno = '005', poids = 54)]
racine
| - Adresse: String (nullable = true)
| - âge: long (nullable = true)
| - hauteur: entier (nullable = true)
| - Nom: String (nullable = true)
| - rollno: string (nullable = true)
| - poids: long (nullable = true)
Modifier les valeurs dans la colonne
Nous pouvons modifier les valeurs d'une colonne particulière à l'aide de la méthode WithColumn ().
Syntaxe:
Trame de données.withColumn ("Column_name", col ("Column_name"))
Paramètres:
1. Column_name est la colonne dont le type de données est modifié
2. La fonction col () est utilisée pour modifier les valeurs du nom de la colonne
Exemple:
Dans cet exemple, nous allons soustraire chaque valeur dans la colonne de poids par 10.
#IMPORT LE MODULE PYSPAPRK
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
#IMPORT LA FONCTION COL
de Pyspark.SQL.Fonctions Import Col
#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, 'height': 5.79, «poids»: 67, «adresse»: «guntur»,
'rollno': '002', 'name': 'ojaswi', 'Âge': 16, 'height': 3.79, «poids»: 34, «adresse»: «hyd»,
'rollno': '003', 'name': 'gnanesh chowdary', 'Âge': 7, 'height': 2.79, «poids»: 17, «adresse»: «patna»,
'rollno': '004', 'name': 'rohith', 'Âge': 9, 'height': 3.69, «poids»: 28, «adresse»: «hyd»,
'rollno': '005', 'name': 'sridevi', 'Âge': 37, 'height': 5.59, «poids»: 54, «adresse»: «hyd»]
# Créer le DataFrame
df = spark_app.CreatedataFrame (étudiants)
#Délectionnez chaque valeur de la colonne de poids par 10
df = df.WithColumn ("poids", col ("poids") - 10)
#Display DataFrame modifié
Imprimer (DF.collecter())
#llets affiche le schéma
df.impriméschema ()
Sortir:
[Row (adresse = 'guntur', âge = 23, hauteur = 5.79, name = 'sravan', rollno = '001', poids = 57), ligne (adresse = 'hyd', âge = 16, hauteur = 3.79, name = 'ojaswi', rollno = '002', poids = 24), ligne (adresse = 'patna', âge = 7, hauteur = 2.79, name = 'gnanesh chowdary', rollno = '003', poids = 7), ligne (adresse = 'hyd', âge = 9, hauteur = 3.69, name = 'rohith', rollno = '004', poids = 18), ligne (adresse = 'hyd', âge = 37, hauteur = 5.59, name = 'sridevi', rollno = '005', poids = 44)]
racine
| - Adresse: String (nullable = true)
| - âge: long (nullable = true)
| - hauteur: double (nullable = true)
| - Nom: String (nullable = true)
| - rollno: string (nullable = true)
| - poids: long (nullable = true)
Ajouter une nouvelle colonne de la colonne existante
Nous pouvons ajouter une nouvelle colonne à partir d'une colonne existante en utilisant la méthode WithColumn ().
Syntaxe:
Trame de données.withColumn ("new_column", col ("column_name"))
Paramètres:
1. new_column est la colonne
2. La fonction col () est utilisée pour ajouter ses valeurs de colonne au nouveau_column
Exemple:
Cet exemple créera une nouvelle colonne - «Power» et ajoutera des valeurs à cette colonne, en multipliant chaque valeur dans la colonne de poids par 10.
#IMPORT LE MODULE PYSPAPRK
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
#IMPORT LA FONCTION COL
de Pyspark.SQL.Fonctions Import Col
#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, 'height': 5.79, «poids»: 67, «adresse»: «guntur»,
'rollno': '002', 'name': 'ojaswi', 'Âge': 16, 'height': 3.79, «poids»: 34, «adresse»: «hyd»,
'rollno': '003', 'name': 'gnanesh chowdary', 'Âge': 7, 'height': 2.79, «poids»: 17, «adresse»: «patna»,
'rollno': '004', 'name': 'rohith', 'Âge': 9, 'height': 3.69, «poids»: 28, «adresse»: «hyd»,
'rollno': '005', 'name': 'sridevi', 'Âge': 37, 'height': 5.59, «poids»: 54, «adresse»: «hyd»]
# Créer le DataFrame
df = spark_app.CreatedataFrame (étudiants)
Colonne #Add nommée Power
# de la colonne de poids multipliée par 2
df = df.WithColumn ("Power", col ("poids") * 2)
#Display DataFrame modifié
Imprimer (DF.collecter())
#llets affiche le schéma
df.impriméschema ()
Sortir:
[Row (adresse = 'guntur', âge = 23, hauteur = 5.79, name = 'sravan', rollno = '001', poids = 67, puissance = 134), ligne (adresse = 'hyd', âge = 16, hauteur = 3.79, name = 'ojaswi', rollno = '002', poids = 34, puissance = 68), ligne (adresse = 'patna', âge = 7, hauteur = 2.79, name = 'gnanesh chowdary', rollno = '003', poids = 17, puissance = 34), ligne (adresse = 'hyd', âge = 9, hauteur = 3.69, name = 'rohith', rollno = '004', poids = 28, puissance = 56), ligne (adresse = 'hyd', âge = 37, hauteur = 5.59, name = 'sridevi', rollno = '005', poids = 54, puissance = 108)]
racine
| - Adresse: String (nullable = true)
| - âge: long (nullable = true)
| - hauteur: double (nullable = true)
| - Nom: String (nullable = true)
| - rollno: string (nullable = true)
| - poids: long (nullable = true)
| - puissance: long (nullable = true)
Conclusion:
Cet article a discuté de la façon de modifier les types de données, de modifier les valeurs dans les colonnes existantes et d'ajouter une nouvelle colonne à l'aide de la méthode WithOmbaln ().