Come modificare il tipo di colonna in pandas (con esempi)
Le colonne di un DataFrame Panda possono assumere uno dei seguenti tipi:
- oggetto (stringhe)
- int64 (interi)
- float64 (valori numerici con decimali)
- bool (valori veri o falsi)
- datetime64 (date e ore)
Il modo più semplice per convertire una colonna da un tipo di dati a un altro è utilizzare la funzione astype() .
Puoi utilizzare i seguenti metodi con la funzione astype() per convertire le colonne da un tipo di dati a un altro:
Metodo 1: convertire una colonna in un altro tipo di dati
df[' col1 '] = df[' col1 ']. astype (' int64 ')
Metodo 2: converti più colonne in un altro tipo di dati
df[[' col1 ', ' col2 ']] = df[[' col1 ', ' col2 ']]. astype (' int64 ')
Metodo 3: converti tutte le colonne in un altro tipo di dati
df = df. astype (' int64 ')
I seguenti esempi mostrano come utilizzare ciascun metodo nella pratica con i seguenti DataFrame panda:
import pandas as pd #createDataFrame df = pd. DataFrame ({' ID ': ['1', '2', '3', '4', '5', '6'], ' tenure ': [12.443, 15.8, 16.009, 5.06, 11.075, 12.9546], ' sales ': [5, 7, 7, 9, 12, 9]}) #view DataFrame print (df) ID tenure sales 0 1 12.4430 5 1 2 15.8000 7 2 3 16.0090 7 3 4 5.0600 9 4 5 11.0750 12 5 6 12.9546 9 #view data type of each column print ( df.dtypes ) object ID tenure float64 dirty int64 dtype:object
Esempio 1: convertire una colonna in un altro tipo di dati
Il codice seguente mostra come utilizzare la funzione astype() per convertire la colonna tenure da float a intero:
#convert tenure column to int64
df[' tenure '] = df[' tenure ']. astype (' int64 ')
#view updated data type for each column
print ( df.dtypes )
object ID
tenure int64
dirty int64
dtype:object
Tieni presente che la colonna tenure è stata convertita in int64 mentre tutte le altre colonne hanno mantenuto i tipi di dati originali.
Esempio 2: convertire più colonne in un altro tipo di dati
Il codice seguente mostra come utilizzare la funzione astype() per convertire le colonne ID e tenure in numeri interi:
#convert ID and tenure columns to int64
df[[' ID ', ' tenure ']] = df[[' ID ', ' tenure ']]. astype (' int64 ')
#view updated data type for each column
print ( df.dtypes )
ID int64
tenure int64
dirty int64
dtype:object
Tieni presente che le colonne ID e tenure sono state convertite in int64.
Esempio 3: convertire tutte le colonne in un altro tipo di dati
Il codice seguente mostra come utilizzare la funzione astype() per convertire tutte le colonne nel DataFrame in un tipo di dati intero:
#convert all columns to int64
df = df. astype (' int64 ')
#view updated data type for each column
print ( df.dtypes )
ID int64
tenure int64
dirty int64
dtype:object
Tieni presente che tutte le colonne sono state convertite in int64.
Nota : puoi trovare la documentazione completa della funzione panda astype() qui .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre conversioni comuni nei panda:
Come convertire le colonne Pandas DataFrame in stringhe
Come convertire il timestamp in data/ora in Pandas
Come convertire DateTime fino ad oggi in Panda
Come convertire le stringhe in float in Pandas