Pyspark Convert Column da stringa a tipo intero

Pyspark Convert Column da stringa a tipo intero
In Python, Pyspark è un modulo Spark utilizzato per fornire un tipo di elaborazione simile come Spark utilizzando DataFrame. Discuteremo diversi metodi per convertire la colonna da stringa a intero in Pyspark DataFrame.
  1. Metodo 1: utilizzando la parola chiave int con WithColumn ()
  2. Metodo 2: usando IntegerType () con WithColumn ()
  3. Metodo 3: utilizzando la parola chiave int con select ()
  4. Metodo 4: utilizzando la parola chiave int con selectExpr ()

Prima di passare agli scenari, creeremo Pyspark DataFrame. Qui creeremo PysPark DataFrame con 5 righe e 6 colonne e visualizzeremo la colonna con tipi di dati utilizzando il metodo Printschema ().

importare pyspark
da pyspark.SQL Importazione di importazione
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Studenti = [
'rollno': '001', 'name': 'sravan', 'age': 23,
'altezza': 5.79, 'peso': '67', 'indirizzo': 'guntur',
'rollno': '002', 'name': 'ojaswi', 'age': 16,
'altezza': 3.79, 'peso': '34', 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7,
'altezza': 2.79, 'peso': '17', 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9,
'altezza': 3.69, 'peso': '28', 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37,
'altezza': 5.59, 'peso': '54', 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
#get lo schema
df.printschema ()

Produzione:

radice
|- Indirizzo: String (Nullable = True)
|- Age: Long (Nullable = True)
|- altezza: doppio (nulllable = true)
|- Nome: String (Nullable = True)
|- rollno: string (nulllable = true)
|- Peso: String (Nullable = True)

Metodo 1: utilizzando la parola chiave INT con WithColumn ()

In questo metodo, stiamo usando il metodo WithColumn () per modificare il tipo di dati da stringa a intero passando la parola chiave int all'interno di cast ().

Sintassi:
DataFrame.WithColumn ("Colonna", DF.colonna.cast ('int'))

withColumn () prenderà due parametri:

  1. la colonna è il nome della colonna il cui tipo di dati viene convertito.
  2. Cast () converte la stringa in intero prendendo la parola chiave int come parametro.

Esempio:
In questo esempio, convertiremo il tipo di dati della colonna di peso in intero e visualizzeremo lo schema utilizzando il metodo Printschema ().

importare pyspark
da pyspark.SQL Importazione di importazione
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Studenti = [
'rollno': '001', 'name': 'sravan', 'age': 23,
'altezza': 5.79, 'peso': '67', 'indirizzo': 'guntur',
'rollno': '002', 'name': 'ojaswi', 'age': 16,
'altezza': 3.79, 'peso': '34', 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7,
'altezza': 2.79, 'peso': '17', 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9,
'altezza': 3.69, 'peso': '28', 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37,
'altezza': 5.59, 'peso': '54', 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
#Convert Weight Column Datatype to Integer
df.withcolumn ("peso", df.peso.cast ('int')).printschema ()

Produzione:

radice
|- Indirizzo: String (Nullable = True)
|- Age: Long (Nullable = True)
|- altezza: doppio (nulllable = true)
|- Nome: String (Nullable = True)
|- rollno: string (nulllable = true)
|- Peso: intero (nulllable = true)

Metodo 2: usando il metodo integerType () con WithColumn ()

In questo metodo, stiamo utilizzando il metodo WithColumn () per modificare il tipo di dati da stringa a intero passando Integertype () Metodo all'interno della funzione Cast (). Dobbiamo importare questo metodo da Pyspark.SQL.modulo tipi.

Sintassi:
DataFrame.WithColumn ("Colonna", DF.colonna.cast (integertype ()))

withColumn () prenderà due parametri:

  1. la colonna è il nome della colonna il cui tipo di dati viene convertito.
  2. Cast () converte la stringa in numero intero prendendo il metodo IntegerType () come parametro.

Esempio:
In questo esempio, convertiremo il tipo di dati della colonna di peso in intero e visualizzeremo lo schema utilizzando il metodo Printschema ().

importare pyspark
da pyspark.SQL Importazione di importazione
da pyspark.SQL.tipi importa integertype
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Studenti = [
'rollno': '001', 'name': 'sravan', 'age': 23,
'altezza': 5.79, 'peso': '67', 'indirizzo': 'guntur',
'rollno': '002', 'name': 'ojaswi', 'age': 16,
'altezza': 3.79, 'peso': '34', 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7,
'altezza': 2.79, 'peso': '17', 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9,
'altezza': 3.69, 'peso': '28', 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37,
'altezza': 5.59, 'peso': '54', 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
#Convert Weight Column Datatype to Integer
df.withcolumn ("peso", df.peso.cast (integertype ())).printschema ()

Produzione:

radice
|- Indirizzo: String (Nullable = True)
|- Age: Long (Nullable = True)
|- altezza: doppio (nulllable = true)
|- Nome: String (Nullable = True)
|- rollno: string (nulllable = true)
|- Peso: intero (nulllable = true)

Metodo 3: utilizzando la parola chiave INT con il metodo Select ()

In questo metodo, stiamo utilizzando il metodo Select () per modificare il tipo di dati da stringa a intero passando la parola chiave Int all'interno della funzione cast (). Possiamo selezionare la colonna usando il metodo col (). col () viene importato da pyspark.SQL.modulo funzioni.

Sintassi:
DataFrame.Seleziona (col ("colonna"), cast ('int'))

Select () prenderà due parametri:

  1. la colonna è il nome della colonna il cui tipo di dati viene convertito.
  2. Cast () converte la stringa in intero prendendo la parola chiave int come parametro.

Esempio:
In questo esempio, convertiremo il tipo di dati della colonna di peso in intero e visualizzeremo lo schema utilizzando il metodo Printschema ().

importare pyspark
da pyspark.SQL Importazione di importazione
da pyspark.SQL.Funzioni importanti col
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Studenti = [
'rollno': '001', 'name': 'sravan', 'age': 23,
'altezza': 5.79, 'peso': '67', 'indirizzo': 'guntur',
'rollno': '002', 'name': 'ojaswi', 'age': 16,
'altezza': 3.79, 'peso': '34', 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7,
'altezza': 2.79, 'peso': '17', 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9,
'altezza': 3.69, 'peso': '28', 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37,
'altezza': 5.59, 'peso': '54', 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
#Convert Weight Column Datatype to Integer
df.Seleziona (col ("peso").cast ('int')).printschema ()

Produzione:

radice
|- Peso: intero (nulllable = true)

Metodo 4: utilizzando la parola chiave int con selectExpr ()

In questo metodo, stiamo usando il metodo selectExpr () per modificare il tipo di dati da stringa a intero passando la parola chiave int all'interno della funzione cast (). Ci vorrà il parametro come espressione

Sintassi:
DataFrame.SelectExpr ("Cast (colonna come int)")

Select () prenderà due parametri:

  1. la colonna è il nome della colonna il cui tipo di dati viene convertito.
  2. Cast () converte la stringa in intero prendendo la parola chiave int come parametro.

Esempio:
In questo esempio, convertiremo il tipo di dati della colonna di peso in intero e visualizzeremo lo schema utilizzando il metodo Printschema ().

importare pyspark
da pyspark.SQL Importazione di importazione
da pyspark.SQL.Funzioni importanti col
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Studenti = [
'rollno': '001', 'name': 'sravan', 'age': 23,
'altezza': 5.79, 'peso': '67', 'indirizzo': 'guntur',
'rollno': '002', 'name': 'ojaswi', 'age': 16,
'altezza': 3.79, 'peso': '34', 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7,
'altezza': 2.79, 'peso': '17', 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9,
'altezza': 3.69, 'peso': '28', 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37,
'altezza': 5.59, 'peso': '54', 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
#Convert Weight Column Datatype to Integer
df.selectExpr ("cast (peso come int)")

Produzione:

DataFrame [peso: int]

Conclusione

In questo tutorial, abbiamo discusso di quattro metodi per convertire la stringa in colonne di tipo intero in Pyspark DataFrame. withColumn (), Select () e SelectExpr () sono i metodi utilizzati per convertire il tipo di dati. Abbiamo osservato che in tutti i metodi viene utilizzato il parametro Cast ().