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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *