Le 5 principali funzioni di Panda essenziali per i data scientist [2022]

Pubblicato: 2021-01-02

Pandas è chiaramente una delle librerie più utilizzate e amate quando si tratta di Data Science e Data Analysis con Python. Cosa lo rende speciale? In questo tutorial, esamineremo 5 di queste funzioni che rendono Panda uno strumento estremamente utile nel kit di strumenti di un Data Scientist.

Alla fine di questo tutorial, avrai la conoscenza delle seguenti funzioni in Pandas e come usarle per le tue applicazioni:

  • valori_conteggi
  • raggruppa per
  • loc e iloc
  • unico e nubile
  • Taglia e taglia

Sommario

Le migliori funzioni di Panda per i data scientist

1. conteggi_valori()

La funzione value_counts() di Pandas viene utilizzata per mostrare i conteggi di tutti gli elementi univoci nelle colonne di un dataframe.

Suggerimento per professionisti: Per dimostrare, userò il Titanic Dataset.

Ora, per trovare i conteggi delle classi nella funzione Embarked, possiamo chiamare la funzione value_counts:

treno[ 'Imbarcato' ].value_counts()

#Produzione:
S 644
C 168
D 77

Inoltre, se questi numeri non hanno molto senso, puoi invece visualizzare le loro percentuali:

train[ 'Imbarcato' ].value_counts(normalize= True )

#Produzione:
S 0,724409
C 0.188976
Q 0,086614

Inoltre, value_counts non considera NaN oi valori mancanti per impostazione predefinita, il che è molto essenziale da controllare. Per fare ciò, puoi impostare il parametro dropna su false.

train[ 'Imbarcato' ].value_counts(dropna= False )

#Produzione:
S 644
C 168
D 77
NaN 2

2. group_by()

Con Pandas group_by, possiamo dividere e raggruppare il nostro dataframe in base a determinate colonne per poter visualizzare schemi e dettagli nei dati. Group_by prevede 3 passaggi principali: dividere, applicare e combinare.

train.groupby( 'Sesso' ).mean()

Produzione:

Come vedi, abbiamo raggruppato il frame di dati in base alla funzione "sesso" e l'abbiamo aggregato utilizzando i mezzi.

Puoi anche tracciarlo utilizzando la visualizzazione integrata di Pandas:

df.groupby( 'Sesso' ).sum().plot(tipo= 'bar' )

Possiamo anche raggruppare utilizzando più funzionalità per una suddivisione gerarchica.

df.groupby([ 'Sesso' , 'Sopravvissuto' ] )[ 'Sopravvivato' ].count()

Da leggere: Domande sull'intervista ai panda

3. loc e iloc

L'indicizzazione in Pandas è una delle operazioni più basilari e il modo migliore per farlo è usare loc o iloc. "Loc" sta per posizione e la "i" sta per posizione indicizzata. In altre parole, quando vuoi indicizzare un dataframe usando nomi o etichette di colonne/righe, dovresti usare loc. E quando vuoi indicizzare colonne o righe usando le posizioni, dovresti usare la funzione iloc. Controlliamo prima loc .

train.loc[ 2 , 'sesso' ]

L'operazione sopra ci fornisce l'elemento dell'indice di riga 2 e la colonna 'sex'. Allo stesso modo, se avessi bisogno di tutti i valori della colonna del sesso, avresti fatto:

train.loc[:, 'sesso' ]

Inoltre, puoi filtrare più colonne come:

train.loc[:, 'sex' , 'Imbarcato' ]

Puoi anche filtrare usando condizioni booleane all'interno della loc come:

train.loc[train.age >= 25 ]


Per visualizzare solo determinate righe, puoi dividere il dataframe usando loc:

treno.loc[ 100 : 200 ]

Inoltre, puoi dividere il dataframe sull'asse della colonna come:

train.loc[:, 'sex' : 'fare' ]

L'operazione precedente taglierà il dataframe dalla colonna "sex" a "fare" per tutte le righe.

Ora, passiamo a iloc. iloc indicizza solo utilizzando i numeri di indice o le posizioni. Puoi affettare frame di dati come:

train.iloc[ 100 : 200 , 2 : 9 ]


Le operazioni precedenti taglieranno le righe da 100 a 199 e le colonne da 2 a 8. Allo stesso modo, se desideri dividere i tuoi dati orizzontalmente, puoi fare:

train.iloc[: 300 , :]

4. unique() e nunique()

Pandas unique viene utilizzato per ottenere tutti i valori univoci da qualsiasi funzione. Questo viene utilizzato principalmente per ottenere le categorie nelle caratteristiche categoriali nei dati. Unique mostra tutti i valori univoci, inclusi i NaN. Lo tratta come un valore unico diverso. Diamo un'occhiata:

treno[ 'sesso' ].unique()

#Produzione:
[ 'femmina' , 'maschio' ]

Come vediamo, ci dà i valori unici nella funzione "sesso".

Allo stesso modo, puoi anche controllare il numero di valori univoci poiché potrebbero esserci molti valori univoci in alcune funzionalità.

treno[ 'sesso' ].nunique()

#Produzione:
2

Tuttavia, dovresti tenere presente che nunique() non considera i NaN come valori univoci. Se ci sono NaN nei tuoi dati, dovresti passare il parametro dropna come False per assicurarti che Pandas ti dia il conteggio includendo anche i NaN.

train[ 'sex' ].nunique(dropna= False )

#Produzione:
3

5. cut() e qcut()

Il taglio Pandas viene utilizzato per raggruppare i valori negli intervalli al fine di discretizzare le funzionalità. Immergiamoci dentro. Binning significa convertire una caratteristica numerica o continua in un insieme discreto di valori, basato sugli intervalli dei valori continui. Questo è utile quando vuoi vedere le tendenze in base all'intervallo in cui si trova il punto dati.

Capiamolo con un piccolo esempio.

Supponiamo di avere voti per 7 bambini che vanno da 0 a 100. Ora possiamo assegnare i voti di ogni bambino a un particolare "cestino".

df = pd.Dataframe(data= {
'Nome' : [ 'Ck' , 'Ron' , 'Mat' , 'Josh' , 'Tim' , 'SypherPK' , 'Dew' , 'Vin' ],
'Marchi' :[ 37 , 91 , 66 , 42 , 99 , 81 , 45, 71 ]
})

df[ 'marks_bin' ] = pd.cut(df[ 'Marks' ], bins=[ 0 , 50 , 70 , 100 ], etichette=[ 1 , 2 , 3 ])

Quindi possiamo semplicemente aggiungere l'output come una nuova funzionalità e la funzione Segni può essere eliminata. Il nuovo dataframe è simile a:

#Produzione:
Nome Mark mark_bin
0 Cr 37 1
1 Ron 91 3
2 Mat 66 2
3 Gio 42 1
4 Tim 99 3
5 SypherPK 81 3
6 Rugiada 45 1
7 Vin 71 3

Quindi, quando dico bins = [ 0 , 50 , 70 , 100 ] , significa che ci sono 3 intervalli:

da 0 a 50 per il contenitore 1,

da 51 a 70 per lo scomparto 2, e

da 71 a 100 appartenenti al contenitore 3.

Quindi, ora la nostra funzione non contiene i voti ma l'intervallo o il cestino in cui si trovano i voti per quello studente.

Simile a cut(), Pandas offre anche la sua funzione fratello chiamata qcut() . Pandas qcut prende il numero di quantili e divide i punti dati in ciascun bin in base alla distribuzione dei dati. Quindi, possiamo semplicemente cambiare la funzione di taglio sopra in qcut:

df[ 'marks_bin' ] = pd.qcut(df[ 'Marks' ], q= 3 , labels=[ 1 , 2 , 3 ])

Nell'operazione di cui sopra, diciamo a Panda di tagliare la funzione in 3 parti uguali e di assegnare loro le etichette. L'uscita arriva come:

Nome Mark mark_bin
0 Cr 37 1
1 Ron 91 3
2 Mat 66 2
3 Gio 42 1
4 Tim 99 3
5 SypherPK 81 3
6 Rugiada 45 1
7 Vin 71 2

Nota come l'ultimo valore è cambiato da 3 a 2.

Leggi anche: Pandas Dataframe Astype

Prima che tu vada

Abbiamo visto alcune funzioni Pandas più utilizzate. Ma questi non sono gli unici ad essere importanti e ti invitiamo a saperne di più sulle funzioni maggiormente utilizzate dai Panda. Questo è un approccio buono ed efficiente in quanto potresti non utilizzare tutte le funzioni di Pandas, ma solo alcune di esse.

Impara i corsi di scienza dei dati dalle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzati o programmi di master per accelerare la tua carriera.

Perché la libreria Panda è così popolare?

Questa libreria è davvero molto popolare tra i data scientist e gli analisti di dati. La ragione di ciò è il suo grande supporto di un gran numero di formati di file e una ricca raccolta di funzionalità per manipolare i dati estratti. Può integrarsi facilmente con altre librerie e pacchetti come NumPy.

Questa potente libreria fornisce varie funzioni utili per manipolare enormi set di dati in modo flessibile. Una volta che l'hai imparato, puoi facilmente ottenere grandi compiti con poche righe di codice.

Cos'è la funzione di unione e perché viene utilizzata?

La funzione di unione è una funzione speciale del frame di dati Pandas che viene utilizzata per unire più righe o colonne di 2 frame di dati. È un'operazione di join con memoria elevata e ricorda i database relazionali. È possibile utilizzare su = Nome colonna per unire i frame di dati sulla colonna comune.

È possibile aggiornare left_on = Nome colonna o right_on = Nome colonna per allineare le tabelle utilizzando le colonne del frame di dati sinistro o destro come chiavi.

Oltre alla libreria Pandas, quali sono le altre librerie Python per la scienza dei dati?

Oltre alla libreria Pandas, ci sono un sacco di librerie Python che sono considerate alcune delle migliori librerie per la scienza dei dati. Questi includono PySpark, TensorFlow, Matplotlib, Scikit Learn, SciPy e molti altri. Ognuno di essi è ampiamente utilizzato per le sue caratteristiche e funzioni uniche e sorprendenti.

Ogni libreria ha il suo significato come SciKit Learn è più spesso utilizzato quando devi gestire dati statistici. Oltre ad analizzare i dati, puoi anche creare dashboard e report visivi utilizzando le funzioni fornite da queste straordinarie librerie.