2 Compiti per Potenziare le Tue Capacità di Manipolazione dei Dati in Python

2 Compiti per Migliorare le Tue Abilità di Manipolazione dei Dati in Python

Come convertire i dati grezzi in un formato più utile e strutturato.

(immagine creata dall'autore con Midjourney)

Quando si impara un nuovo strumento, di solito si va oltre la documentazione, si guardano tutorial, si leggono articoli e si risolvono esempi. Questo è un approccio abbastanza buono e ti aiuterà ad apprendere lo strumento fino a un certo punto.

Tuttavia, quando iniziamo ad utilizzare lo strumento in impostazioni reali o per risolvere problemi reali, dobbiamo andare un po’ oltre ciò che viene trattato nella maggior parte dei tutorial.

In questo articolo, spiegherò passo dopo passo come ho utilizzato Python per gestire due diversi compiti di pulizia e preprocessing dei dati nel mio lavoro. Per ogni compito, ti mostrerò i dati grezzi e il formato desiderato. Successivamente, spiegherò il codice per ottenere i dati in quel formato.

Approfondiremo le strutture dati incorporate di Python e la libreria Pandas, quindi dovresti aspettarti di imparare alcune cose interessanti sulla manipolazione dei dati con Python.

1. Statistiche del problema

Ho un DataFrame con un elenco di problemi e i loro riassunti. Non sto usando né condividendo i dati originali qui. Invece, ho generato dati falsi nello stesso formato di quelli originali. Se vuoi seguire eseguendo il codice, scarica il file “mock_issues.csv” dal mio repository datasets.

Ciò che faremo in termini di manipolazione dei dati dipende dal formato e non dal contenuto, quindi le funzioni e i metodi che impareremo in questo articolo sono applicabili ai dati originali. Infatti, il processo è esattamente lo stesso di quello che ho fatto nel mio lavoro.

Considera che abbiamo un DataFrame con diverse righe e le seguenti colonne:

(immagine dell'autore)

Ogni riga nella colonna dei problemi grezzi contiene un elenco di problemi nel seguente formato:

""""[1-Il metodo find_duplicates utilizza inefficientemente le strutture dati, provocando un'elevata complessità temporale., 2-Le strutture dati incorporate non vengono usate efficientemente nel metodo generate_meta., 3-Nella classe ExerciseGenerator, l'uso eccessivo di variabili globali può rallentare il programma., 4-Il metodo get_all_contributors_for_repo non sta usando...