I panda convertono la colonna in int

I panda convertono la colonna in int
Panda è una libreria Python gratuita e open source che fornisce strutture di dati veloci, flessibili ed espressive che rendono facile il lavoro con i dati scientifici.

Panda è uno dei pacchetti di analisi e manipolazione dei dati più preziosi di Python.

Offre funzionalità come strutture di dati personalizzate costruite sopra Python.

Questo articolo discuterà di convertire una colonna da un tipo di dati in un tipo INT all'interno di un Frame di dati Panda.

Impostazione di panda

Prima di immergerti su come eseguire l'operazione di conversione, dobbiamo configurare i panda nel nostro ambiente Python.

Se stai usando l'ambiente di base nell'interprete Anaconda, è probabile che tu abbia i panda installati.

Tuttavia, su un'installazione di Python nativa, dovrai installarlo manualmente.

Puoi farlo eseguendo il comando:

$ PIP Installa panda

Su Linux, esegui

$ sudo pip3 installa panda

In ambienti Anaconda o Miniconda, installa panda con Conda.

$ conda installa panda
$ sudo conda installa panda

Panda Crea campione di dati di esempio

Impostiamo un campione di dati per scopi di illustrazione in questo tutorial. È possibile copiare il codice di seguito o utilizzare il tuo frame dati.

Importa panda come PD
df = pd.DataFrame ('Id': ['1', '2', '3', '4', '5'],
"Nome": ["Marja Jérôme", "Alexios Shiva", "Mohan Famke", "Lovrenco ilar", "Steffen Angus"],
'Punti': ['50000', '70899', '70000', '81000', '110000'])

Una volta creato il frame dati, possiamo controllare i dati.

I panda mostrano il tipo di colonna

È bene sapere se il tipo esistente può essere lanciato su un INT prima di convertire una colonna da un tipo a un INT.

Ad esempio, tentare di convertire una colonna contenente nomi non può essere convertita in un INT.

Possiamo visualizzare il tipo di telaio di dati utilizzando la proprietà DTypes

Usa la sintassi:

DataFrame.dtypes

Nel nostro campione di dati, possiamo ottenere i tipi di colonna come:

df.dtypes
Oggetto id
nome oggetto
Oggetto punti
dType: oggetto

Possiamo vedere dall'output sopra che nessuna delle colonne tiene un tipo int.

Pandas Convert la colonna da stringa a int.

Per convertire una singola colonna in un INT, utilizziamo la funzione ASTYPE () e passiamo il tipo di dati di destinazione come parametro.

La sintassi della funzione:

DataFrame.astype (dtype, copy = true, errors = 'solleva')
  1. dType - Specifica il tipo Python o un dtype numpy a cui viene convertito l'oggetto.
  2. Copia: consente di restituire una copia dell'oggetto invece di agire in atto.
  3. Errori: specifica l'azione in caso di errore. Per impostazione predefinita, la funzione aumenterà gli errori.

Nel nostro Frame di dati di esempio, possiamo convertire la colonna ID in tipo int utilizzando la funzione ASTYPE () come mostrato nel codice seguente:

df ['id'] = df ['id'].astype (int)

Il codice sopra specifica la colonna "ID" come oggetto target. Passiamo quindi un INT come tipo alla funzione astype ().

Possiamo controllare il nuovo tipo di dati per ciascuna colonna nel frame dati:

df.dtypes
id int32
nome oggetto
Oggetto punti
dType: oggetto

La colonna ID è stata convertita in un INT mentre il resto rimane invariato.

I panda convertono più colonne in int

La funzione ASTYPE () ci consente di convertire più di una colonna e convertirli in un tipo specifico.

Ad esempio, possiamo eseguire il seguente codice per convertire le colonne ID e punti in tipo INT.

df [['id', 'punti'] = df [['id', 'point'].astype (int)

Qui, stiamo specificando più colonne usando la notazione della staffa quadrata. Questo ci consente di convertire le colonne nel tipo di dati specificato nella funzione ASTYPE ().

Se controlliamo il tipo di colonna, dovremmo vedere un output:

df.dtypes
id int32
nome oggetto
Punti Int32
dType: oggetto

Ora possiamo vedere che la colonna ID e punti è stata convertita in tipo INT32.

I panda convertono più colonne in più tipi

La funzione ASTYPE () ci consente di specificare una colonna e un tipo di destinazione come dizionario.

Supponiamo che vogliamo convertire la colonna ID in int32 e la colonna Punti in float64.

Possiamo eseguire il seguente codice:

convert_to = "id": int, "punti": float
df = df.astype (convert_to)

Nel codice sopra, iniziamo definendo un dizionario che tiene la colonna di destinazione come chiave e tipo di destinazione come valore.

Quindi utilizziamo la funzione ASTYPE () per convertire le colonne nel dizionario nei tipi impostati.

Verificare che i tipi di colonna dovrebbero restituire:

df.dtypes
id int32
nome oggetto
punti float64
dType: oggetto

Si noti che la colonna ID è int32 e la colonna Punti è di tipo float32.

Pandas Convert Column in int - to_numeric ()

Pandas ci fornisce anche la funzione To_numeric (). Questa funzione ci consente di convertire una colonna in un tipo numerico.

La sintassi della funzione è come mostrata:

panda.to_numeric (arg, errors = 'sollevare', downcast = nessuno)

Ad esempio, per convertire la colonna ID in numerico nel nostro telaio di dati, possiamo eseguire:

df ['id'] = pd.to_numeric (df ['id'])

Il codice dovrebbe prendere la colonna ID e convertirla in un tipo INT.

Pandas converti il ​​telaio dati al miglior tipo di dati possibile

La funzione convert_dtypes () in panda ci consente di convertire un intero telaio nel tipo possibile più vicino.

La sintassi della funzione è come mostrata:

DataFrame.convert_dtypes (infer_objects = true, convert_string = true,
convert_integer = true, convert_boolean = true, convert_floating = true)

Puoi controllare i documenti nella risorsa di seguito:

https: // panda.Pydata.Org/Docs/Reference/API/PANDAS.DataFrame.convert_dtypes.html

Ad esempio, per convertire il nostro telaio di dati nel tipo possibile più vicino, possiamo eseguire:

df = df.convert_dtypes ()

Se controlliamo il tipo:

df.dtypes
id int32
Nome String
Punti Int64
dType: oggetto

Noterai che ogni colonna è stata convertita nel tipo appropriato più vicino. Ad esempio, la funzione converte piccoli INT in tipo int32.

Allo stesso modo, la colonna dei nomi viene convertita in tipo stringa in quanto contiene valori di stringa.

Infine, poiché la colonna Punti contiene numeri interi più grandi, viene convertita in un tipo INT64.

Conclusione

In questo articolo, abbiamo fornito metodi dettagliati ed esempi di conversione di un telaio di dati Panda da un tipo a un altro.