Pyspark konverter kolonne fra streng til heltallstype

Pyspark konverter kolonne fra streng til heltallstype
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.
  1. Metode 1: Bruke int nøkkelord med with column ()
  2. Metode 2: Bruke Integertype () med WithColumn ()
  3. Metode 3: Bruke int nøkkelord med SELECT ()
  4. 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:

  1. Kolonnen er kolonnenavnet hvis datatype er konvertert.
  2. 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:

  1. Kolonnen er kolonnenavnet hvis datatype er konvertert.
  2. 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:

  1. Kolonnen er kolonnenavnet hvis datatype er konvertert.
  2. 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:

  1. Kolonnen er kolonnenavnet hvis datatype er konvertert.
  2. 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.