Metodo loc ed iloc di Pandas

Due delle funzioni più potenti di Pandas per l'accesso e la manipolazione di dati all'interno di un DataFrame sono i metodi loc e iloc. Questi metodi permettono di selezionare righe e colonne specifiche, offrendo flessibilità e controllo sugli elementi del DataFrame.

Differenza tra i metodi loc e iloc

Prima di immergerci negli esempi, è fondamentale comprendere la differenza principale tra loc e iloc:

  • loc: seleziona i dati in base alle etichette degli indici o delle colonne. È utile quando si conoscono i nomi specifici delle colonne o degli indici, e si vuole accedere a questi direttamente.

  • iloc: seleziona i dati in base alla posizione numerica degli indici o delle colonne. È particolarmente utile quando si vuole accedere ai dati utilizzando la loro posizione, indipendentemente dalle etichette.

Il metodo loc dei DataFrame Pandas

Il metodo loc è utilizzato per selezionare dati da un DataFrame in base alle etichette degli indici o delle colonne. Ecco alcuni esempi che mostrano come utilizzare loc in diversi scenari.

Per selezionare una riga specifica usando loc, è necessario conoscere l'etichetta dell'indice della riga.

import pandas as pd # Creazione di un DataFrame di esempio data = {     'Nome': ['Luca', 'Marta', 'Giovanni', 'Anna'],     'Età': [25, 30, 22, 28],     'Città': ['Roma', 'Milano', 'Torino', 'Napoli'] } df = pd.DataFrame(data) print(df) # Selezione di una riga specifica riga_luca = df.loc[0] print(riga_luca)

In questo esempio, abbiamo selezionato la riga con etichetta 0, che corrisponde ai dati di Luca. Poiché Pandas assegna automaticamente un indice numerico alle righe, possiamo utilizzare questi valori per selezionare righe specifiche.

Allo stesso modo, possiamo utilizzare loc per selezionare una colonna specifica.

# Selezione di una colonna specifica colonna_eta = df.loc[:, 'Età']

L'uso di : indica che stiamo selezionando tutte le righe, mentre il nome della colonna specifica l'elemento che vogliamo ottenere.

Il metodo iloc dei DataFrame Pandas

Il metodo iloc funziona in modo simile a loc, ma anziché utilizzare le etichette, utilizza la posizione numerica degli indici e delle colonne.

Per selezionare una riga specifica utilizzando iloc, si utilizza l'indice numerico della riga.

# Selezione di una riga specifica con iloc riga_marta = df.iloc[1] print(riga_marta)

È possibile selezionare una colonna specifica utilizzando la posizione numerica.

# Selezione di una colonna specifica con iloc colonna_citta = df.iloc[:, 2] print(colonna_citta)