Padroneggiare i panda: importanti funzioni dei panda per il tuo prossimo progetto

Pubblicato: 2020-11-30

La libreria Pandas è stata una delle preferite di tutti i tempi da tutti i data scientist o dagli analisti grazie alla sua natura di facile utilizzo, all'ampia gamma di funzionalità e alla migliore interpretazione dei risultati. Si consiglia a chiunque inizi il proprio viaggio nella scienza dei dati di avere una buona padronanza dei panda, escogitare pipeline per ridurre lo sforzo manuale di pulizia e preelaborazione dei dati.

Pandas è costruito su Numpy che consente un'esecuzione più rapida dei comandi e il lavoro svolto in meno tempo. In questo articolo condivideremo alcune funzioni di Panda sottovalutate che possono arricchire la qualità del codice del tuo progetto.

Prima di andare avanti, ecco una breve leggenda:

  • Tutti i comandi menzionati presuppongono che il frame di dati sia chiamato 'df' che è un oggetto di pd.DataFrame()
  • La libreria Pandas è stata importata come alias come 'pd'.

Sommario

Accessori per stringhe

I dati di stringa o di testo contribuiscono in gran parte a un set di dati. Che si tratti di informazioni relative all'autore, al titolo, alla pubblicazione di un libro o ai tweet realizzati per un particolare hashtag, abbiamo molti dati di testo e questi dati sono utili se puliti correttamente e inviati a qualsiasi classificatore come Naive Bayes, ecc. Ecco alcuni trucchi che puoi applicare:

  • Per accedere ai dati del tipo di stringa, utilizzare la funzione di accesso 'str'. Ad esempio, df['column_name'].str
  • Ciò consente di eseguire tutte le operazioni sulle stringhe sulla colonna selezionata.
  • Alcune operazioni comuni includono,
    • df['column_name'].str.len(): lunghezza di ogni stringa
    • .str.split(): divisione in un particolare carattere
    • .str.contains(): restituisce T/F se la parola particolare è presente nella stringa
    • .str.count(): restituisce il conteggio delle righe che soddisfano l'espressione regolare passata.
    • .str.findall(): restituisce i risultati che corrispondono all'espressione passata.
    • .str.replace(): come findall ma qui si verifica la sostituzione degli elementi corrispondenti
    • Sono supportate tutte le operazioni sulle stringhe come .title, .isalpha, .isalnum, .isdecimal ecc.

Leggi anche: Pandas Dataframe Astype

Accessori data e ora

Le date e l'ora sono comunemente presenti nei set di dati sotto forma di timestamp, ora di inizio, ora di fine o qualsiasi altro momento associato a tale evento. È utile analizzare correttamente questi dati in quanto fornisce tendenze lungo una linea temporale che può essere esposta per prevedere eventi futuri o che chiamiamo quotazione come analisi di serie temporali. Vediamo alcuni comandi utili:

  • Per accedere ai dati DateTime, convertire il tipo di dati corrente (i valori di data vengono analizzati come stringa o oggetto) in DateTime utilizzando la funzione pd.to_datetime().
  • Ora, utilizzando l'accessor '.dt', possiamo accedere a qualsiasi informazione DateTime richiesta come:
    • df['column_name'].dt.day: restituisce il giorno della data.
    • .dt.time: ora
    • .dt.year: Anno della data
    • .dt.month: mese della data
    • .dt.weekday: se è domenica, lunedì... nella forma numerica dove 0 rappresenta lunedì. Se vuoi i nomi dei giorni, usa .dt.day_name
    • .dt.is_month_start: restituisce T/F a seconda che la data sia la prima del mese.
    • .dt.is_month_end Stessa funzionalità di inizio_mese ma qui viene verificata l'ultima data del mese.
    • .dt.quater: restituisce il trimestre in cui si trova la data
    • .dt.is_quater_start: restituisce T/F se la data è il primo giorno del trimestre
    • .dt.is_quater_end: se è l'ultimo giorno del trimestre
    • .dt.normalize: quando la componente temporale non aggiunge un contributo prezioso all'analisi, può essere ignorata. Questo comando arrotonda l'ora a mezzanotte, ovvero 00:00:00.

Panda che complottano

Il tracciamento delle visualizzazioni è uno dei componenti chiave dell'analisi dei dati e svolge un ruolo importante durante l'esecuzione dell'ingegneria delle funzionalità. Ad esempio, i valori anomali in un set di dati possono essere rilevati utilizzando box plot che rappresentano l'intervallo mediano e interquartile, lasciando i valori anomali alle estremità estreme.

La stampa viene eseguita principalmente tramite altre librerie come seaborn, plotly, bokeh, matplotlib, ma quando si desidera visualizzare istantaneamente i dati senza definire esplicitamente le librerie? I panda hanno la soluzione. Usando la funzione pd.plot(), puoi tracciare direttamente i grafici che vengono richiamati internamente usando matplotlib. Varie opzioni disponibili per questo:

  • df.plot() o df['column_name'].plot() (a seconda del tipo di grafico)
  • df.plot() ha il parametro 'kind' che definisce il grafico. Per impostazione predefinita, è un grafico "lineare", ma altre opzioni disponibili sono "bar", "barh", "box", "hist", "kde" ecc.
  • Invoca il backend matplotlib, il che significa che possiamo accedere ai suoi argomenti tramite un accessor 'ax'.
  • La funzione .plot() può anche accettare argomenti come 'title', 'xticks', 'xlim', 'xlabel', 'fontsize', 'colormap' che elimina in una certa misura la necessità di definire librerie esterne.

Funzioni varie

  • pd.get_dummies(): durante la preelaborazione dei dati, a volte ci imbattiamo in dati categoriali che devono essere convertiti in forma numerica per essere inseriti nel modello. Quando queste categorie sono piuttosto basse, è preferibile la codifica one-hot, ma farlo manualmente richiede tempo. Questa funzione dummy non solo trasforma i valori ma, se drop_first è impostato su True, elimina la colonna precedente contenente tutte le categorie.
  • df.query(): è la funzione che consente di applicare la maschera condizionale sul frame di dati. La differenza fondamentale tra questo e il normale mascheramento è che questa funzione restituisce direttamente i valori al posto della maschera booleana, riducendo lo sforzo di creare la maschera e applicarla al frame di dati.
  • df.select_dtypes(): a volte è necessario eseguire alcune attività specifiche su un tipo di tipo di dati. Ad esempio, durante la lettura di dati da file esterni, alcuni tipi di dati vengono definiti come oggetti. Durante la pulizia dei dati, il set di dati deve avere tutti i tipi di dati corretti e farlo manualmente da df.astype('data-type') sarebbe noioso quando il numero di tali tipi di dati è elevato. Questa funzione seleziona il tipo di dati specificato e può essere combinata con la funzione .apply(). Un codice di esempio sarebbe simile a questo:

df.select_dtypes(oggetto).apply(astype(str))

Da leggere: Domande sull'intervista ai panda

Conclusione

Questo compito viene definito concatenamento ed è molto comune durante l'esecuzione di attività di data science per ridurre lo sforzo di definizione delle variabili per ogni passaggio da eseguire.

Se sei curioso di conoscere i Panda, dai un'occhiata al Diploma PG in Data Science di IIIT-B e upGrad, creato per i professionisti che lavorano e offre oltre 10 casi di studio e progetti, workshop pratici pratici, tutoraggio con esperti del settore, 1 su -1 con mentori del settore, oltre 400 ore di apprendimento e assistenza al lavoro con le migliori aziende.