Pyspark oversetter og overlay

Pyspark oversetter og overlay
“I Python er Pyspark en Spark -modul som brukes til å gi en lignende type prosessering som Spark ved hjelp av DataFrame.

Vi vil diskutere to funksjoner: oversetter () og overlegg () i Pyspark.

La oss diskutere det en etter en. Før det må vi lage en Pyspark DataFrame for demonstrasjon.”

Eksempel

Vi skal lage en dataaframe med 5 rader og 6 kolonner og vise den ved hjelp av showet () metoden.

#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#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, 'Height': 5.79, 'vekt': 67, 'adresse': 'guntur',
'Rollno': '002', 'Navn': 'Ojaswi', 'Age': 16, 'Height': 3.79, 'vekt': 34, 'adresse': 'hyd',
'Rollno': '003', 'Navn': 'Gnanesh Chowdary', 'Age': 7, 'Height': 2.79, 'Vekt': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Navn': 'Rohith', 'Age': 9, 'Height': 3.69, 'vekt': 28, 'adresse': 'hyd',
'Rollno': '005', 'Navn': 'Sridevi', 'Age': 37, 'Height': 5.59, 'vekt': 54, 'adresse': 'hyd']]
# Lag DataFrame
df = spark_app.CreateTataFrame (studenter)
#Display DataFrame
df.forestilling()

Produksjon:

Pyspark translate ()

oversetter () brukes til å erstatte strenger i Pyspark DataFrame -kolonne karakter etter karakter. Vi må spesifisere tegnene i en streng som skal erstattes med noen andre tegn. Det tar tre parametere.

Syntaks:

Oversett (kolonne, 'Actual_characters', 'Repacing_characters')

Hvor,

  1. Kolonnen er navnet på kolonnen som tegnene erstattes i denne kolonnen.
  2. faktiske_characters er tegnene som er til stede i strengene i den gitte kolonnen.
  3. erstatning_characters er karakterene som erstatter de faktiske_characts én etter en.

Merk - Antall tegn i de faktiske_characters må være lik antallet erstatnings_characters.

Oversats () kan brukes med metoden med column ().

Generelt syntaks:

Dataramme.WithColumn (kolonne, oversatt (kolonne, 'faktisk_characters', 'Repacing_characters'))

Eksempel 1

I dette eksemplet oversetter vi karakterene - Gunhy til @$%^og i adressekolonnen.

#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#import oversett fra pyspark.SQL.funksjoner
Fra Pyspark.SQL.funksjoner importerer oversett
#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, 'Height': 5.79, 'vekt': 67, 'adresse': 'guntur',
'Rollno': '002', 'Navn': 'Ojaswi', 'Age': 16, 'Height': 3.79, 'vekt': 34, 'adresse': 'hyd',
'Rollno': '003', 'Navn': 'Gnanesh Chowdary', 'Age': 7, 'Height': 2.79, 'Vekt': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Navn': 'Rohith', 'Age': 9, 'Height': 3.69, 'vekt': 28, 'adresse': 'hyd',
'Rollno': '005', 'Navn': 'Sridevi', 'Age': 37, 'Height': 5.59, 'vekt': 54, 'adresse': 'hyd']]
# Lag DataFrame
df = spark_app.CreateTataFrame (studenter)
#Translate karakterene - Gunhy til @$%^&
df.withColumn ('adresse', oversett ('adresse', 'gunhy', '@$%^&')).forestilling()

Produksjon:

Vi kan se at i adressekolonnen - strengene som inneholder

  1. g er oversatt til @
  2. u er oversatt til $
  3. n er oversatt til %
  4. H er oversatt til ^
  5. y er oversatt til &

Eksempel 2

I dette eksemplet oversetter vi karakterene - Jaswi til 56434 i Navn -kolonnen.

#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#import oversett fra pyspark.SQL.funksjoner
Fra Pyspark.SQL.funksjoner importerer oversett
#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, 'Height': 5.79, 'vekt': 67, 'adresse': 'guntur',
'Rollno': '002', 'Navn': 'Ojaswi', 'Age': 16, 'Height': 3.79, 'vekt': 34, 'adresse': 'hyd',
'Rollno': '003', 'Navn': 'Gnanesh Chowdary', 'Age': 7, 'Height': 2.79, 'Vekt': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Navn': 'Rohith', 'Age': 9, 'Height': 3.69, 'vekt': 28, 'adresse': 'hyd',
'Rollno': '005', 'Navn': 'Sridevi', 'Age': 37, 'Height': 5.59, 'vekt': 54, 'adresse': 'hyd']]
# Lag DataFrame
df = spark_app.CreateTataFrame (studenter)
#Translate tegnene - Jaswi til 56434 i navnekolonnen
df.WithColumn ('Navn', Oversats ('Navn', 'Jaswi', '56434')).forestilling()

Produksjon:

Vi kan se at i navnekolonnen - strengene som inneholder

  1. J er oversatt til 5
  2. A er oversatt til 6
  3. s er oversatt til 4
  4. W er oversatt til 3
  5. Jeg er oversatt til 4

Pyspark Overlay ()

Overlay () brukes til å erstatte verdier i en gitt kolonne med en annen kolonneverdier. Det tar tre parametere. Det kan brukes med en valgt ledning.

Syntaks:

overlegg (erstattet_column, erstatning_column, posisjon)

Hvor,

  1. erstattet_column er kolonnen som verdiene erstattes.
  2. erstatning_column er kolonnen der den erstattet verdiene i en erstattet_ kolonne.
  3. Posisjon brukes til å spesifisere posisjonen eller plasseringen i erstattet_column slik at verdiene i erstatning_column okkuperer erstattet_column.

Merk - Hvis alle tegnene i verdier erstattes i erstattet_column, fra neste posisjon, vil erstattet_column -tegn vises.

Generelt syntaks:

Dataramme.velg (overlegg (erstattet_column, erstatning_column, posisjon))

Eksempel

I dette eksemplet vil vi erstatte verdier i

  1. Navnkolonne med alder fra 4. karakter i navnekolonnen
  2. rollno kolonne med navn fra 2. karakter
#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#import overlegg fra pyspark.SQL.funksjoner
Fra Pyspark.SQL.Funksjoner importerer overlegg
#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, 'Height': 5.79, 'vekt': 67, 'adresse': 'guntur',
'Rollno': '002', 'Navn': 'Ojaswi', 'Age': 16, 'Height': 3.79, 'vekt': 34, 'adresse': 'hyd',
'Rollno': '003', 'Navn': 'Gnanesh Chowdary', 'Age': 7, 'Height': 2.79, 'Vekt': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Navn': 'Rohith', 'Age': 9, 'Height': 3.69, 'vekt': 28, 'adresse': 'hyd',
'Rollno': '005', 'Navn': 'Sridevi', 'Age': 37, 'Height': 5.59, 'vekt': 54, 'adresse': 'hyd']]
# Lag DataFrame
df = spark_app.CreateTataFrame (studenter)
#Replace Values ​​in Name Column with Age fra 4. karakter
df.Velg (Overlay ("Navn", "Alder", 4)).forestilling()
#Replace Values ​​in Rollno Column med navn fra 2. karakter
df.Velg (Overlay ("Rollno", "Name", 2)).forestilling()

Produksjon:

Fra denne utgangen,

  1. Tegn i alderskolonnen erstattes i navnekolonnen fra den fjerde plasseringen av hver verdi, og resten av tegnene har holdt seg de samme i navnekolonnen.
  2. Tegn i Navnkolonnen erstattes i Rollno -kolonnen fra 4. plassering av hver verdi, og resten av tegnene har ikke resultert i Rollno -kolonnen siden det totale antallet tegn i Rollno -kolonneverdiene er mindre enn navnekolonneverdier. Det er grunnen til at navnekolonneverdiene er okkupert.

Konklusjon

Fra denne opplæringen så vi hvordan vi kan erstatte strenger i DataFrame -kolonnene Translate () og Overlay () -funksjoner med enkle eksempler.oversetter () brukes til å erstatte strenger i Pyspark DataFrame -kolonne karakter etter karakter. Vi må spesifisere tegnene i en streng som skal erstattes med noen andre tegn. Overlay () brukes til å erstatte verdier i en gitt kolonne med en annen kolonneverdier.