I Python er Pyspark en Spark -modul som brukes til å gi en lignende type prosessering som Spark ved hjelp av DataFrame. Vi vil diskutere forskjellige metoder for å konvertere kolonne fra streng til heltall i Pyspark DataFrame.
- Metode 1: Bruke int nøkkelord med with column ()
- Metode 2: Bruke Integertype () med WithColumn ()
- Metode 3: Bruke int nøkkelord med SELECT ()
- Metode 4: Bruke nøkkelord med SelectExpr ()
Før vi flytter til scenariene, vil vi lage Pyspark DataFrame. Her skal vi lage Pyspark DataFrame med 5 rader og 6 kolonner og vise kolonnen med datatyper ved hjelp av Printschema () -metode.
Importer pyspark
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,
'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)
#få skjemaet
df.Printschema ()
Produksjon:
rot
|- Adresse: streng (nullable = true)
|- Alder: Lang (Nullable = True)
|- Høyde: dobbelt (nullable = true)
|- Navn: String (Nullable = True)
|- RollNo: String (Nullable = True)
|- Vekt: streng (nullable = true)
Metode 1: Bruke INT nøkkelord med WithColumn () -metode
I denne metoden bruker vi with column () -metode for å endre datatypen fra streng til heltall ved å passere int nøkkelord inne i cast () -funksjonen.
Syntaks:
Dataramme.WithColumn (“Kolonne”, DF.kolonne.rollebesetning ('int'))
WithColumn () vil ta to parametere:
- Kolonnen er kolonnenavnet hvis datatype er konvertert.
- Cast () konverterer streng til heltall ved å ta int nøkkelord som parameter.
Eksempel:
I dette eksemplet vil vi konvertere vektkolonnedatatypen til Heltall og vise skjemaet ved hjelp av Printschema () -metoden.
Importer pyspark
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,
'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)
#convert vektkolonne datatype til heltall
df.WithColumn ("Vekt", DF.vekt.rollebesetning ('int')).Printschema ()
Produksjon:
rot
|- Adresse: streng (nullable = true)
|- Alder: Lang (Nullable = True)
|- Høyde: dobbelt (nullable = true)
|- Navn: String (Nullable = True)
|- RollNo: String (Nullable = True)
|- Vekt: Heltall (Nullable = True)
Metode 2: Bruke Integertype () med WithColumn () -metode
I denne metoden bruker vi with Column () -metoden for å endre datatypen fra streng til heltall ved å passere Integertype () Metode inne i Cast () -funksjonen. Vi må importere denne metoden fra Pyspark.SQL.typer modul.
Syntaks:
Dataramme.WithColumn (“Kolonne”, DF.kolonne.Cast (Integertype ()))
WithColumn () vil ta to parametere:
- Kolonnen er kolonnenavnet hvis datatype er konvertert.
- Cast () Konverterer streng til Heltall ved å ta Integertype () -metode som parameter.
Eksempel:
I dette eksemplet vil vi konvertere vektkolonnedatatypen til Heltall og vise skjemaet ved hjelp av Printschema () -metoden.
Importer pyspark
Fra Pyspark.SQL Import SparkSession
Fra Pyspark.SQL.Typer importerer integertype
#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)
#convert vektkolonne datatype til heltall
df.WithColumn ("Vekt", DF.vekt.Cast (Integertype ())).Printschema ()
Produksjon:
rot
|- Adresse: streng (nullable = true)
|- Alder: Lang (Nullable = True)
|- Høyde: dobbelt (nullable = true)
|- Navn: String (Nullable = True)
|- RollNo: String (Nullable = True)
|- Vekt: Heltall (Nullable = True)
Metode 3: Bruke int nøkkelord med Select () Metode
I denne metoden bruker vi Select () -metode for å endre datatypen fra streng til heltall ved å passere int nøkkelord inne i cast () -funksjonen. Vi kan velge kolonnen ved hjelp av COL () -metoden. col () importeres fra pyspark.SQL.Funksjonsmodul.
Syntaks:
Dataramme.Velg (COL (“Column”), Cast ('Int'))
SELECT () vil ta to parametere:
- Kolonnen er kolonnenavnet hvis datatype er konvertert.
- Cast () konverterer streng til heltall ved å ta int nøkkelord som parameter.
Eksempel:
I dette eksemplet vil vi konvertere vektkolonnedatatypen til Heltall og vise skjemaet ved hjelp av Printschema () -metoden.
Importer pyspark
Fra Pyspark.SQL Import SparkSession
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)
#convert vektkolonne datatype til heltall
df.Velg (Col ("Vekt").rollebesetning ('int')).Printschema ()
Produksjon:
rot
|- Vekt: Heltall (Nullable = True)
Metode 4: Bruke INT nøkkelord med SelectExpr () -metode
I denne metoden bruker vi SelectExpr () -metoden for å endre datatypen fra streng til heltall ved å passere int nøkkelord inne i cast () -funksjonen. Det vil ta parameter som et uttrykk
Syntaks:
Dataramme.SelectExpr (“Cast (Column as Int)”)
SELECT () vil ta to parametere:
- Kolonnen er kolonnenavnet hvis datatype er konvertert.
- Cast () konverterer streng til heltall ved å ta int nøkkelord som parameter.
Eksempel:
I dette eksemplet vil vi konvertere vektkolonnedatatypen til Heltall og vise skjemaet ved hjelp av Printschema () -metoden.
Importer pyspark
Fra Pyspark.SQL Import SparkSession
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)
#convert vektkolonne datatype til heltall
df.SelectExpr ("Cast (Weight as Int)")
Produksjon:
DataFrame [vekt: int]
Konklusjon
I denne opplæringen diskuterte vi fire metoder for å konvertere streng til heltallkolonner i Pyspark DataFrame. WithColumn (), Select () og SelectExpr () er metodene som brukes til å konvertere datatypen. Vi observerte at i alle metodene brukes cast () parameter.