Come modificare il tipo di dati della colonna in panda
Diverse funzioni nei panda possono essere utilizzate per modificare il tipo di dati delle colonne in un frame di dati. Nei seguenti esempi, spiegheremo in dettaglio come è possibile modificare i dati delle colonne nel frame dati.
Esempio 1: Utilizzo di dati.funzione astype ()
Per creare un Frame di dati di esempio, importare prima i panda come PD per utilizzare le funzionalità fornite da esso. Per dimostrare il funzionamento della funzione ASTYPE (), creiamo un frame dati con tre colonne di diversi tipi di dati. Utilizzo del frame dati.Metodo ASTYPE (), possiamo convertire un oggetto Pandas in un dtype richiesto. Inoltre, questo metodo consente agli utenti di modificare qualsiasi colonna (adatta) del tipo di dati in un tipo di categoria.
Come si può vedere nell'illustrazione precedente, abbiamo creato tre colonne: x, y e z. Laddove la colonna X è costituita da valori int e stringa ['2', 4, 6, '8' e 10], la colonna Y ha solo valori stringa ['p', 'q', 'r', 's', 't'] e la colonna z è costituita da valori float e stringa. Per visualizzare il tipo di dati di ogni colonna nel nostro frame dati, viene utilizzato l'attributo dTypes. L'attributo "dtypes" può essere utilizzato per determinare il tipo di dati in un frame dati Panda, una serie che comprende i tipi di dati di ciascuna colonna restituita dall'attributo.
Come si può vedere nell'illustrazione popolare, il tipo di dati di ciascuna colonna è mostrato come "oggetto". Come potresti notare, c'è almeno un valore di stringa in ciascuna colonna (x, y e z) del frame dati. Quindi, l'attributo DTYPE considera il tipo di dati di ogni colonna come un "oggetto". Ora, modifichiamo il tipo di dati della colonna X utilizzando la funzione ASTYPE ().
Abbiamo assegnato il tipo di dati INT alla colonna X del nostro telaio di dati "DF" e assegnato il nuovo frame dati alla variabile denominata "DF". Ora, possiamo verificare utilizzando l'attributo dTypes se il tipo di dati della colonna X viene modificato o no.
Si può vedere che il tipo di dati della colonna X viene modificato da oggetto a "int32". È possibile definire un singolo tipo di dati per l'intero telaio di dati o separatamente per ciascun frame di dati della colonna utilizzando un dizionario Python. Specifichiamo i diversi dati di ciascuna colonna di dati utilizzando un dizionario.
Nel dizionario precedente, abbiamo specificato la colonna da "int" in x a x, il tipo di dati "String" a Y colonna e il tipo di dati "float" a z della colonna di dati "DF". Utilizzando l'attributo DTypes, controlliamo i dati attuali delle colonne X, Y e Z nel nostro frame dati.
I dati di ogni colonna vengono modificati correttamente. Possiamo anche utilizzare la funzione ASTYPE () per specificare un singolo tipo di dati su tutte le colonne del nostro frame dati.
Abbiamo usato il metodo ASTYPE () per il nostro telaio di dati "DF" e abbiamo superato il tipo di dati "String" come argomento per modificare il tipo di dati di ogni colonna in "oggetto".
Esempio 2: usando la funzione TO_NUMERIC ()
Applica () ci consente di convertire il tipo di dati di specifiche o tutte le colonne in int/float, datetime o delta temporale passando le opzioni “Panda.to_numeric "," Panda.to_datetime "e" panda.to_timedelta ". A seconda dei valori presenti nella colonna, la funzione TO_NUMERIC () modifica il tipo di dati di una colonna di dati di dati in un INT o un galleggiante. Il tipo di dati della colonna viene modificato in "int64" se contiene solo numeri interi. Il tipo di dati della colonna viene convertito in "float64" utilizzando TO_NUMERIC () se contiene valori con punti decimali. Per spiegare questo con l'aiuto di un esempio, creiamo un frame dati con il tipo di dati String ma utilizziamo i valori interi come "stringhe".
Importiamo prima i panda e i moduli numpy. Quindi, creiamo il frame dati utilizzando il PD.funzione dataframe (). All'interno del PD.Funzione DataFrame, passiamo i tre elenchi: [1 ", '2', '3'], ['4', '5', '6'] e ['7', '8', '9' ". I nomi delle colonne sono specificati come "x", "y" e "z". L'attributo DTypes viene utilizzato per visualizzare i dati delle colonne X, Y e Z.
Attualmente, il tipo di dati di ogni riga è "oggetto". Ora utilizziamo la funzione TO_NUMERIC () per modificare il suo tipo di dati.
Come accennato in precedenza, se le colonne contengono numeri decimali, la funzione TO_NUMERIC () modifica automaticamente il tipo di dati in "int64". Controlliamo se i dati sono cambiati o meno.
Dato che abbiamo usato i numeri decimali come valori di "stringa" nel frame dati "df", la funzione TO_NUMERIC () li ha convertiti correttamente in "int64". Cosa succede se esiste una colonna con valori float come "stringa" all'interno del frame dati "DF"? La funzione TO_NUMERIC () cambierà il suo tipo di dati in "float64"? Per rispondere a questa domanda, aggiungiamo un'altra colonna con i valori float come "stringa" nel frame dati "DF" recentemente creato.
Abbiamo aggiunto un'altra colonna al nostro telaio di dati "DF" e specificato i nomi delle colonne come W, X, Y e Z. La colonna Z di recente aggiunta è costituita da solo valori di punto decimale come "stringa". Applichiamo la funzione TO_NUMERIC () per vedere i risultati.
Il tipo di dati delle colonne che ha numeri senza decimale viene convertito in "int64" e il numero decimale in "float64" utilizzando la funzione TO_NUMERIC ().
Esempio 3: usando la funzione convert_dtypes ()
Nei due esempi precedenti, abbiamo modificato il tipo di dati delle colonne di dati utilizzando le funzioni ASTYPE () e TO_NUMERIC (). Possiamo anche modificare il tipo di dati delle colonne nel nostro frame dati utilizzando la funzione convert_dtypes (). Dopo aver valutato i dati, il metodo convert_dtypes () restituisce un nuovo frame dati con il tipo di dati di ciascuna colonna convertita nel tipo di dati più adatto (ottimizzato). Per comprendere la funzione convert_dtypes (), creiamo prima un frame dati di esempio.
Dopo aver importato il modulo Pandas, abbiamo creato due elenchi: "nome" e "studente". Nell'elenco "Nome", abbiamo alcuni valori di stringa e null ("Tom", PD.Na, "Max", "Tony"). Mentre nell'elenco "studente", abbiamo i valori booleani con alcuni valori null (true, PD.Na, false, pd.N / A). Abbiamo assegnato entrambi gli elenchi ai "dati" variabili. Il PD.La funzione DataFrame () viene utilizzata per creare un frame dati all'interno del quale la variabile di dati viene passata come argomento. Quindi, abbiamo usato l'attributo DTypes che ha dato i dati di tutte le colonne nel nostro telaio di dati. Come visto nell'illustrazione precedente, il tipo di dati di ciascuna colonna nel nostro telaio è "oggetto". Utilizziamo la funzione convert_dtypes () per modificare i dati di colonne con dati adatti.
Come si può vedere, la funzione convert_dtypes () ha modificato i dati delle colonne con il più adatto tipo di dati (ottimizzato). Il tipo di dati della colonna "Nome" viene modificato in "String" e il tipo di dati delle colonne "Student" viene modificato in booleano.
Conclusione
In questo tutorial, abbiamo attraversato diversi modi per modificare il tipo di dati della colonna di DataFrame utilizzando diverse funzioni. Abbiamo provato a renderti in grado di modificare il tipo di dati della colonna di un frame di dati da solo usando le funzioni ASTYPE (), To_numeric () e convert_dtypes (). Abbiamo implementato più esempi per insegnarti come utilizzare il frame dati.funzione astype (), come utilizzare la funzione to_numeric () e come utilizzare la funzione convert_dtypes () per modificare il tipo di colonna.