CodeGym /Corsi /Python SELF IT /Formattazione dei dati e pulizia delle tabelle dalle info...

Formattazione dei dati e pulizia delle tabelle dalle informazioni inutili

Python SELF IT
Livello 28 , Lezione 2
Disponibile

1. Perché è necessario?

Immagina di essere un ingegnere in una fabbrica di dati. Devi analizzare e organizzare la materia prima (i dati) per ottenere un prodotto finito (insight, report). Senza pulizia e formattazione, i tuoi dati rimangono come un mucchio di pezzi sparsi, da cui è difficile costruire qualcosa.

Dati puliti e formattati non sono solo una questione di estetica e leggibilità, ma anche una condizione importante per un'analisi corretta e la creazione di modelli. Dati elaborati in modo errato possono portare a conclusioni sbagliate e nessuno vuole trovarsi nella situazione in cui, alla fine della giornata lavorativa, si accorge di aver calcolato l'età media dei dipendenti non in anni, ma in piccoli frammenti di dati.

Compiti principali della formattazione

Prima di scrivere codice, vediamo quali problemi vogliamo evitare e risolvere attraverso la formattazione:

  • Rimozione di righe e colonne vuote: Sono come tasche vuote - non portano benefici, ma confondono facilmente.
  • Rimozione dei duplicati: I record duplicati aggiungono rumore ai nostri dati.
  • Riempimento dei valori mancanti: Sono come i buchi nel formaggio, che a volte vale la pena riempire con qualcosa di gustoso.
  • Conversione dei tipi di dati: È importante assicurarsi che l'età sia un numero, non un testo, per evitare di confondere l'età reale con "25 anni di esperienza lavorativa", scritti tra virgolette.

2. Strumenti per la pulizia e la formattazione dei dati

Ora che sappiamo perché è importante, diamo un'occhiata agli strumenti che ci aiuteranno in questo, come un coltellino svizzero in un'escursione:

  • Rimozione dei valori nulli: dropna()
  • Lavorare con i duplicati: duplicated() e drop_duplicates()
  • Riempimento dei valori mancanti: fillna()
  • Conversione dei tipi di dati: astype()

Rimozione dei valori nulli

I valori mancanti sono una di quelle cose che appaiono sempre nel momento sbagliato. Con dropna() possiamo sbarazzarcene come vecchi calzini inutili. Vediamo un esempio:

Python

import pandas as pd

# Creiamo un DataFrame con valori mancanti
data = {'Nome': ['Anna', 'Ivan', None, 'Maria'],
        'Età': [29, None, 34, 23],
        'Città': ['Mosca', 'San Pietroburgo', 'Novosibirsk', None]}

df = pd.DataFrame(data)

# Rimuoviamo righe con qualsiasi valore NaN
cleaned_df = df.dropna()

print(cleaned_df)

Questo codice rimuoverà tutte le righe che contengono almeno un valore nullo.

Lavorare con i duplicati

A volte nei tuoi dati compaiono duplicati, come nel gioco "Trova le differenze" dove non ci sono differenze. Possiamo filtrare questi record usando drop_duplicates().

Python

# Creiamo un DataFrame con duplicati
data = {'Nome': ['Anna', 'Ivan', 'Anna', 'Maria'],
        'Età': [29, 34, 29, 23]}

df = pd.DataFrame(data)

# Rimuoviamo i duplicati
unique_df = df.drop_duplicates()

print(unique_df)

Riempimento dei valori mancanti

È possibile riempire i valori mancanti in vari modi, ad esempio, con il valore medio o un valore fisso. Il metodo fillna() ti aiuterà in questo:

Python

# Riempiamo i valori mancanti in 'Età' con il valore medio della colonna
df['Età'] = df['Età'].fillna(df['Età'].mean())

print(df)

Conversione dei tipi di dati

La conversione dei dati è talvolta necessaria per evitare di cadere nella trappola di valori di testo dove ci si aspetta numeri:

Python

# Convertiamo il tipo di dati della colonna 'Età' in numeri interi
df['Età'] = df['Età'].astype(int)

print(df)

3. Applicazione pratica: pulizia di un set di dati reale

Proviamo a pulire e formattare un set di dati reale per i report. Prendiamo, ad esempio, un file Excel ipotetico con informazioni sulle vendite.

Python

# Caricamento di dati da Excel
filename = "sales_data.xlsx"
df = pd.read_excel(filename)

# Rimozione di righe con valori nulli in qualsiasi colonna
df = df.dropna()

# Rimozione di record duplicati
df = df.drop_duplicates()

# Riempimento dei valori mancanti con il valore medio per quella colonna
df['Vendite'] = df['Vendite'].fillna(df['Vendite'].mean())

# Conversione dei tipi di dati
df['Codice prodotto'] = df['Codice prodotto'].astype(str)

# Salvataggio dei dati formattati di nuovo in Excel
df.to_excel("cleaned_sales_data.xlsx", index=False)

Di conseguenza, otterremo un file Excel ordinato e pulito, pronto per l'analisi e la produzione di report.

4. Errori comuni nella pulizia dei dati

Come con la riparazione dell'elettronica, lavorando con i dati è facile commettere errori, quindi ecco alcuni errori comuni da evitare.

Eliminare informazioni utili insieme ai duplicati. A volte, i duplicati possono essere un segnale di errore nei dati e vale la pena indagare sulla loro origine. Non confondere i tipi di dati. A volte sembra che la conversione in un altro formato sia semplice, ma può portare alla perdita di dati se non si verifica che la conversione sia consentita.

Seguendo questi consigli e i passaggi suggeriti, potrai lavorare facilmente e con piacere sui dati, anche se inizialmente sembrano un incubo per un analista. E ricorda, i dati, come il tuo codice, devono essere puliti!

Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION