Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Gestione delle Variabili Categoriche | Pre-Elaborazione dei Dati
Tecniche Avanzate in Pandas

bookGestione delle Variabili Categoriche

Ora lavorerai con un set di dati che non contiene valori mancanti. I valori NaN della colonna 'Age' sono stati sostituiti con la media della colonna, mentre il valore NaN della colonna 'Fare' è stato eliminato. Quindi, è il momento di imparare a gestire le variabili categoriche. Categoriale significa che hanno alcune categorie. Ad esempio, nella colonna 'Sex' ci sono 'male' e 'female'; oppure nella colonna 'Embarked' ci sono 'Q', 'S' e 'C'.

Cosa bisogna fare per calcolare il numero di valori in ciascuna categoria o per ottenere informazioni su di esse?

Conosci già .loc[], .isin(), .between() e molte altre funzioni, ma in pandas esiste un modo più elegante e comodo per farlo. Utilizza la funzione .get_dummies(). Come esempio, la applicheremo alla colonna 'Embarked'. Osserva l'implementazione e il risultato (verranno visualizzati i nomi di 5 passeggeri scelti casualmente e le nuove colonne create).

1234
import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/titanic3.csv', index_col = 0) data = pd.get_dummies(data, columns = ['Embarked']) print(data[['Name', 'Embarked_C', 'Embarked_Q', 'Embarked_S']].sample(5))
copy

Analizziamo uno dei possibili output, in particolare una delle possibili combinazioni di cinque righe selezionate casualmente. Puoi scorrere orizzontalmente la tabella per visualizzare tutte le colonne:

Spiegazione:

Di conseguenza, la nostra funzione ha suddiviso la colonna 'Embarked' in tre colonne: 'Embarked_C', 'Embarked_Q' e 'Embarked_S'. In totale, abbiamo tre categorie. Ogni passeggero ha la propria categoria nella colonna 'Embarked'. Pertanto, la nostra funzione crea tre colonne corrispondenti a ciascuna categoria e, per ogni passeggero, riempie la riga della colonna con 1 se la persona era inizialmente associata a quella geografia; altrimenti, inserisce 0. In questo modo, otteniamo 1 in una sola colonna.

pd.get_dummies(data, columns = ['Embarked'])
  • pd.get_dummies() - questa funzione converte le variabili categoriche in variabili dummy (1 o 0);
  • data - il data frame che si desidera utilizzare;
  • columns = ['Embarked'] - colonne che contengono variabili categoriche da trasformare in variabili dummy. Attenzione: è obbligatorio inserire i nomi delle colonne all'interno di una lista.
Compito

Swipe to start coding

Il tuo compito qui è trasformare la colonna 'Sex' in una con variabili dummy invece che categoriali. Successivamente, visualizza la somma dei valori in ciascuna categoria.

Soluzione

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 5. Capitolo 6
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

close

Awesome!

Completion rate improved to 3.03

bookGestione delle Variabili Categoriche

Scorri per mostrare il menu

Ora lavorerai con un set di dati che non contiene valori mancanti. I valori NaN della colonna 'Age' sono stati sostituiti con la media della colonna, mentre il valore NaN della colonna 'Fare' è stato eliminato. Quindi, è il momento di imparare a gestire le variabili categoriche. Categoriale significa che hanno alcune categorie. Ad esempio, nella colonna 'Sex' ci sono 'male' e 'female'; oppure nella colonna 'Embarked' ci sono 'Q', 'S' e 'C'.

Cosa bisogna fare per calcolare il numero di valori in ciascuna categoria o per ottenere informazioni su di esse?

Conosci già .loc[], .isin(), .between() e molte altre funzioni, ma in pandas esiste un modo più elegante e comodo per farlo. Utilizza la funzione .get_dummies(). Come esempio, la applicheremo alla colonna 'Embarked'. Osserva l'implementazione e il risultato (verranno visualizzati i nomi di 5 passeggeri scelti casualmente e le nuove colonne create).

1234
import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/titanic3.csv', index_col = 0) data = pd.get_dummies(data, columns = ['Embarked']) print(data[['Name', 'Embarked_C', 'Embarked_Q', 'Embarked_S']].sample(5))
copy

Analizziamo uno dei possibili output, in particolare una delle possibili combinazioni di cinque righe selezionate casualmente. Puoi scorrere orizzontalmente la tabella per visualizzare tutte le colonne:

Spiegazione:

Di conseguenza, la nostra funzione ha suddiviso la colonna 'Embarked' in tre colonne: 'Embarked_C', 'Embarked_Q' e 'Embarked_S'. In totale, abbiamo tre categorie. Ogni passeggero ha la propria categoria nella colonna 'Embarked'. Pertanto, la nostra funzione crea tre colonne corrispondenti a ciascuna categoria e, per ogni passeggero, riempie la riga della colonna con 1 se la persona era inizialmente associata a quella geografia; altrimenti, inserisce 0. In questo modo, otteniamo 1 in una sola colonna.

pd.get_dummies(data, columns = ['Embarked'])
  • pd.get_dummies() - questa funzione converte le variabili categoriche in variabili dummy (1 o 0);
  • data - il data frame che si desidera utilizzare;
  • columns = ['Embarked'] - colonne che contengono variabili categoriche da trasformare in variabili dummy. Attenzione: è obbligatorio inserire i nomi delle colonne all'interno di una lista.
Compito

Swipe to start coding

Il tuo compito qui è trasformare la colonna 'Sex' in una con variabili dummy invece che categoriali. Successivamente, visualizza la somma dei valori in ciascuna categoria.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 5. Capitolo 6
single

single

some-alt