Legg til ny kolonne i Pyspark DataFrame

Legg til ny kolonne i Pyspark DataFrame
I Python er Pyspark en Spark -modul som brukes til å gi en lignende type prosessering som Spark ved hjelp av DataFrame. Vi vil diskutere hvordan du kan legge til ny kolonne til den eksisterende Pyspark DataFrame.

Før vi flytter til metodene, vil vi lage Pyspark DataFrame.

Eksempel:

Her skal vi lage Pyspark DataFrame med 5 rader og 6 kolonner.

#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#import col -funksjonen
Fra Pyspark.SQL.Funksjoner importerer col
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Lag studentdata med 5 rader og 6 attributter
Studenter = ['Rollno': '001', 'Navn': 'Sravan', 'Age': 23,
'Høyde': 5.79, 'vekt': 67, 'adresse': 'guntur',
'Rollno': '002', 'Navn': 'Ojaswi', 'Age': 16,
'Høyde': 3.79, 'vekt': 34, 'adresse': 'hyd',
'Rollno': '003', 'Navn': 'Gnanesh Chowdary', 'Age': 7,
'Høyde': 2.79, 'Vekt': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Navn': 'Rohith', 'Age': 9,
'Høyde': 3.69, 'vekt': 28, 'adresse': 'hyd',
'Rollno': '005', 'Navn': 'Sridevi', 'Age': 37,
'Høyde': 5.59, 'vekt': 54, 'adresse': 'hyd']]
# Lag DataFrame
df = spark_app.CreateTataFrame (studenter)
#Display DataFrame
df.forestilling()

Produksjon:

Metode 1: Legg til ny kolonne med verdier ved bruk av WithColumn ()

Vi kan legge til ny kolonne fra en eksisterende kolonne ved hjelp av withColumn () -metoden.

Syntaks:

Dataramme.WithColumn ("New_Column", Col ("Column_name"))

Parametere:

  1. new_column er kolonnen.
  2. Col () -funksjonen brukes til å legge til kolonneverdiene til New_Column.

Eksempel:

I dette eksemplet skal vi opprette ny kolonne - "Power" og legge til verdier i denne kolonnen som multipliserer hver verdi i vektkolonnen med 10.

#import pyspaprk -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#import col -funksjonen
Fra Pyspark.SQL.Funksjoner importerer col
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Lag studentdata med 5 rader og 6 attributter
Studenter = ['Rollno': '001', 'Navn': 'Sravan', 'Age': 23,
'Høyde': 5.79, 'vekt': 67, 'adresse': 'guntur',
'Rollno': '002', 'Navn': 'Ojaswi', 'Age': 16,
'Høyde': 3.79, 'vekt': 34, 'adresse': 'hyd',
'Rollno': '003', 'Navn': 'Gnanesh Chowdary', 'Age': 7,
'Høyde': 2.79, 'Vekt': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Navn': 'Rohith', 'Age': 9,
'Høyde': 3.69, 'vekt': 28, 'adresse': 'hyd',
'Rollno': '005', 'Navn': 'Sridevi', 'Age': 37,
'Høyde': 5.59, 'vekt': 54, 'adresse': 'hyd']]
# Lag DataFrame
df = spark_app.CreateTataFrame (studenter)
#Add -kolonnen som heter Power
#fra vektkolonnen multiplisert med 2
df = df.WithColumn ("Power", Col ("Vekt")* 2)
#Display Modified DataFrame
trykk (df.samle inn())
#Letter viser skjemaet
df.Printschema ()

Produksjon:

[Rad (adresse = 'guntur', alder = 23, høyde = 5.79, navn = 'Sravan', RollNo = '001', vekt = 67, kraft = 134), rad (adresse = 'Hyd', alder = 16, høyde = 3.79, navn = 'Ojaswi', rollno = '002', vekt = 34, strøm = 68), rad (adresse = 'Patna', alder = 7, høyde = 2.79, navn = 'Gnanesh Chowdary', Rollno = '003', vekt = 17, kraft = 34), rad (adresse = 'hyd', alder = 9, høyde = 3.69, navn = 'Rohith', rollno = '004', vekt = 28, kraft = 56), rad (adresse = 'hyd', alder = 37, høyde = 5.59, name = 'Sridevi', rollno = '005', vekt = 54, kraft = 108)]
rot
|- Adresse: streng (nullable = true)
|- Alder: Lang (Nullable = True)
|- Høyde: dobbelt (nullable = true)
|- Navn: String (Nullable = True)
|- RollNo: String (Nullable = True)
|- Vekt: Lang (Nullable = True)
|- Power: Long (Nullable = True)

Metode 2: Legg til ny kolonne uten verdier ved bruk av WithColumn ()

Vi kan legge til nye kolonner uten noen verdier ved å bruke med Column () -metoden gjennom LIT () -funksjonen.

Syntaks:

Dataramme.withcolumn ("new_column", tent (ingen))

Parametere:

  1. new_column er kolonnen.
  2. Lit () er en funksjon som brukes til å legge til verdier i kolonnen.

Eksempel:

I dette eksemplet skal vi opprette ny kolonne - “Power” og legge til ingen verdier i denne kolonnen.

#import pyspaprk -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#import col, tente funksjoner
Fra Pyspark.SQL.funksjoner importerer col, tent
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Lag studentdata med 5 rader og 6 attributter
Studenter = ['Rollno': '001', 'Navn': 'Sravan', 'Age': 23,
'Høyde': 5.79, 'vekt': 67, 'adresse': 'guntur',
'Rollno': '002', 'Navn': 'Ojaswi', 'Age': 16,
'Høyde': 3.79, 'vekt': 34, 'adresse': 'hyd',
'Rollno': '003', 'Navn': 'Gnanesh Chowdary', 'Age': 7,
'Høyde': 2.79, 'Vekt': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Navn': 'Rohith', 'Age': 9,
'Høyde': 3.69, 'vekt': 28, 'adresse': 'hyd',
'Rollno': '005', 'Navn': 'Sridevi', 'Age': 37,
'Høyde': 5.59, 'vekt': 54, 'adresse': 'hyd']]
# Lag DataFrame
df = spark_app.CreateTataFrame (studenter)
#Add -kolonnen som heter Power
# uten verdier
df = df.WithColumn ("Power", tent (ingen))
#Display Modified DataFrame
trykk (df.samle inn())

Produksjon:

[Rad (adresse = 'guntur', alder = 23, høyde = 5.79, navn = 'Sravan', rollno = '001', vekt = 67, strøm = ingen), rad (adresse = 'hyd', alder = 16, høyde = 3.79, navn = 'Ojaswi', rollno = '002', vekt = 34, strøm = ingen), rad (adresse = 'patna', alder = 7, høyde = 2.79, navn = 'Gnanesh Chowdary', RollNo = '003', vekt = 17, strøm = ingen), rad (adresse = 'Hyd', alder = 9, høyde = 3.69, navn = 'Rohith', rollno = '004', vekt = 28, strøm = ingen), rad (adresse = 'hyd', alder = 37, høyde = 5.59, name = 'Sridevi', rollno = '005', vekt = 54, strøm = ingen)]

Metode 3: Legg til ny kolonne med verdier basert på tilstand ved bruk av column ()

Vi kan legge til ny kolonne med forhold ved bruk av withColumn () -metoden og verdiene gjennom LIT () -funksjonen. Vi kan spesifisere forholdene ved å bruke når () -funksjonen. Dette kan importeres fra Pyspark.SQL.funksjoner.

Syntaks:

Dataramme.withcolumn ("new_column", når ((dataaframe.kolonne < 11), lit("value1"))
.når (((tilstand), tent ("verdi2"))
..
. når (((tilstand), tent ("verdi n"))
.ellers (tent ("verdi")))

Parametere:

  1. new_column er kolonnen.
  2. Lit () er en funksjon som brukes til å legge til verdier i kolonnen.
  3. Når () vil ta tilstand som inngang og legge til verdier basert på kriteriene oppfylt.
  4. Ellers () er det siste som vil utføre noen av de ovennevnte forholdene som ikke oppfyller kriteriene.

Eksempel:

I dette eksemplet skal vi opprette ny kolonne - “Power” og legge til verdier fra alderskolonnen.

  • Tilsett lav verdi hvis alderen er mindre enn - 11
  • Tilsett høy verdi hvis alderen er mindre enn eller lik - 12 og større enn eller lik - 20
  • Ellers tilfører høy verdi
#import pyspaprk -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#import col, tent, når funksjoner
Fra Pyspark.SQL.funksjoner importerer col, tent, når
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Lag studentdata med 5 rader og 6 attributter
Studenter = ['Rollno': '001', 'Navn': 'Sravan', 'Age': 23,
'Høyde': 5.79, 'vekt': 67, 'adresse': 'guntur',
'Rollno': '002', 'Navn': 'Ojaswi', 'Age': 16,
'Høyde': 3.79, 'vekt': 34, 'adresse': 'hyd',
'Rollno': '003', 'Navn': 'Gnanesh Chowdary', 'Age': 7,
'Høyde': 2.79, 'Vekt': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Navn': 'Rohith', 'Age': 9,
'Høyde': 3.69, 'vekt': 28, 'adresse': 'hyd',
'Rollno': '005', 'Navn': 'Sridevi', 'Age': 37,
'Høyde': 5.59, 'vekt': 54, 'adresse': 'hyd']]
# Lag DataFrame
df = spark_app.CreateTataFrame (studenter)
#Legg til en kolonne - strøm
#Legg til kolonnevales basert på alderssøylen
#by spesifisere forholdene
df.WithColumn ("Power", når ((DF.alder < 11), lit("Low"))
.Når ((DF.Alder> = 12) & (DF.alder <= 20), lit("Medium"))
.ellers (tent ("høy"))).forestilling()

Produksjon:

Metode 4: Legg til ny kolonne med verdier ved bruk av SELECT ()

Vi kan legge til ny kolonne fra en eksisterende kolonne ved hjelp av Select () -metoden.

Syntaks:

Dataramme.Velg (tent (DF.kolonne).alias ("new_column"))

Parametere:

  1. new_column er kolonnen.
  2. LIT () Funksjon brukes til å legge til kolonneverdier til New_Column.

Eksempel:

I dette eksemplet skal vi opprette ny kolonne - "Power" og legge til verdier i denne kolonnen som multipliserer hver verdi i vektkolonnen med 10.

#import pyspaprk -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#import col, tente funksjoner
Fra Pyspark.SQL.funksjoner importerer col, tent
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Lag studentdata med 5 rader og 6 attributter
Studenter = ['Rollno': '001', 'Navn': 'Sravan', 'Age': 23,
'Høyde': 5.79, 'vekt': 67, 'adresse': 'guntur',
'Rollno': '002', 'Navn': 'Ojaswi', 'Age': 16,
'Høyde': 3.79, 'vekt': 34, 'adresse': 'hyd',
'Rollno': '003', 'Navn': 'Gnanesh Chowdary', 'Age': 7,
'Høyde': 2.79, 'Vekt': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Navn': 'Rohith', 'Age': 9,
'Høyde': 3.69, 'vekt': 28, 'adresse': 'hyd',
'Rollno': '005', 'Navn': 'Sridevi', 'Age': 37,
'Høyde': 5.59, 'vekt': 54, 'adresse': 'hyd']]
# Lag DataFrame
df = spark_app.CreateTataFrame (studenter)
#add -kolonnen som heter - Power from Weight Column
# Legg til verdier ved å multiplisere med 10
df.Velg ("Rollno", tent (DF.vekt * 10).alias ("makt")).forestilling()

Produksjon:

Metode 5: Legg til ny kolonne uten verdier ved bruk av SELECT ()

Vi kan legge til ny kolonne med nullverdier ved hjelp av Select () -metoden.

Syntaks:

Dataramme.Velg (tent (ingen).alias ("new_column"))

Parametere:

  1. new_column er kolonnen
  2. LIT () Funksjon brukes til å legge til ingen verdier

Eksempel:

I dette eksemplet skal vi opprette ny kolonne - “Power” og legge til ingen verdier i denne kolonnen.

#import pyspaprk -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#import col, tente funksjoner
Fra Pyspark.SQL.funksjoner importerer col, tent
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Lag studentdata med 5 rader og 6 attributter
Studenter = ['Rollno': '001', 'Navn': 'Sravan', 'Age': 23,
'Høyde': 5.79, 'vekt': 67, 'adresse': 'guntur',
'Rollno': '002', 'Navn': 'Ojaswi', 'Age': 16,
'Høyde': 3.79, 'vekt': 34, 'adresse': 'hyd',
'Rollno': '003', 'Navn': 'Gnanesh Chowdary', 'Age': 7,
'Høyde': 2.79, 'Vekt': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Navn': 'Rohith', 'Age': 9,
'Høyde': 3.69, 'vekt': 28, 'adresse': 'hyd',
'Rollno': '005', 'Navn': 'Sridevi', 'Age': 37,
'Høyde': 5.59, 'vekt': 54, 'adresse': 'hyd']]
# Lag DataFrame
df = spark_app.CreateTataFrame (studenter)
#add -kolonnen som heter - Power
# legg til nullverdier uten
df.Velg ("Rollno", tent (ingen).alias ("makt")).forestilling()

Produksjon:

Konklusjon

I denne opplæringen diskuterte vi hvordan du legger til en ny kolonne ved hjelp av Select () og WithColumn () -funksjoner. Vi har observert at tent () er funksjonen som brukes til å legge til verdier i den nye kolonnen. Til slutt diskuterte vi hvordan du kan legge til ingen/nullverdier og verdiene fra de eksisterende kolonnene til Pyspark DataFrame.