Il metodo iloc[] per DataFrame in Pandas per Python serve a selezionare i dati di un DataFrame in Pandas in base al loro indice. In questo modo è possibile visualizzare righe e colonne specifiche di un DataFrame sulla base della loro posizione.

Il tuo web hosting come mai prima d'ora
  • Certificato SSL e protezione DDoS
  • Velocità, flessibilità e scalabilità
  • Dominio e consulente personale
  • 1 anno gratis del gestionale di fatturazione elettronica FlexTax

La sintassi di iloc()[] in Pandas

Il metodo iloc[] di Pandas accetta valori interi che specificano quali elementi selezionare nel DataFrame. La sintassi generale per DataFrame.iloc() in Pandas è la seguente:

DataFrame.iloc[selection]
python

È possibile utilizzare iloc[] in Pandas per assegnare un singolo intero, una lista di interi in Python, un oggetto slice oppure una tupla con indici di riga e colonna.

Applicazione del metodo DataFrame.iloc[]

Il comportamento di iloc[] in Pandas varia a seconda del valore passato allo strumento. Per spiegare meglio il funzionamento sono utili alcuni esempi pratici.

Selezione di una riga specifica

Per iniziare, creiamo un DataFrame con diverse persone, la loro età e il loro luogo di residenza:

import pandas as pd
# Creazione di un DataFrame di esempio
data = {'Nome': ['Anna', 'Bruno', 'Carlo', 'Davide'],
    'Età': [28, 24, 22, 32],
    'Città': ['Roma','Milano','Torino','Napoli']}
df = pd.DataFrame(data)
print(df)
python

Il DataFrame risultante si presenta così:

Nome     Età    Città
0     Anna    28    Roma
1     Bruno     24    Milano
2     Carlo     22    Torino
3    Davide     32    Napoli

Per mezzo di iloc[] puoi ora selezionare una riga qualsiasi passando l’indice della riga desiderata:

# Selezione della riga zero
result = df.iloc[0]
print(result)
python

In questo esempio viene selezionata la riga zero (0). Il risultato sono i dati per Anna:

Nome      Anna
Età        28
Città     Roma
Nome: 0, dtype: object

Selezione di riga e colonna specifiche

Se desideri specificare non soltanto l’indice della riga ma anche quello della colonna, non devi far altro che passare questi valori a iloc[] separandoli con una virgola:

# Selezione della riga zero e della prima colonna
result = df.iloc[0, 1]
print(result)
python

La chiamata precedente di iloc[] in Pandas permette di selezionare la riga zero (0) e la prima colonna (1). Il risultato è quindi l’età di Anna: 28.

Selezione di più righe e colonne tramite slice

Un’ulteriore possibilità è selezionare più righe e colonne contemporaneamente utilizzando le slice di Python. A tal fine ricorda che l’indice dopo i due punti non viene preso in considerazione per la selezione.

# Selezione delle prime due righe e delle prime due colonne
result = df.iloc[0:2, 0:2]
print(result)
python

Il codice precedente dà questo risultato:

Nome    Età
0    Anna    28
1    Bruno    24

In questo caso sono selezionate le prime due righe (0:2) e le prime due colonne (0:2). Il DataFrame risultante contiene solo le sezioni corrispondenti.

Selezione di righe e colonne specifiche con le liste

È possibile selezionare più colonne e righe anche utilizzando le liste in Python. Il loro vantaggio sta nella possibilità di selezionare anche aree non contigue del DataFrame:

# Selezione della riga zero e della prima e seconda colonna
result = df.iloc[[0, 2], [1, 2]]
print(result)
python

In questo caso sono selezionate la riga zero e la seconda riga ([0, 2]) nonché la prima e la seconda colonna ([1, 2]), ottenendo quindi il seguente risultato:

Età   Città
0    28   Roma
2    22   Torino
Hai trovato questo articolo utile?
Vai al menu principale