Il metodo iloc[] per DataFrame in Pandas per Python serve a se­le­zio­na­re i dati di un DataFrame in Pandas in base al loro indice. In questo modo è possibile vi­sua­liz­za­re righe e colonne spe­ci­fi­che di un DataFrame sulla base della loro posizione.

Web Hosting
Diventa il n°1 della rete con il provider di hosting n°1 in Europa
  • Di­spo­ni­bi­li­tà garantita al 99,99%
  • Dominio, SSL ed e-mail inclusi
  • As­si­sten­za 24/7 in lingua italiana

La sintassi di iloc()[] in Pandas

Il metodo iloc[] di Pandas accetta valori interi che spe­ci­fi­ca­no quali elementi se­le­zio­na­re nel DataFrame. La sintassi generale per DataFrame.iloc() in Pandas è la seguente:

DataFrame.iloc[selection]
python

È possibile uti­liz­za­re 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.

Ap­pli­ca­zio­ne del metodo DataFrame.iloc[]

Il com­por­ta­men­to di iloc[] in Pandas varia a seconda del valore passato allo strumento. Per spiegare meglio il fun­zio­na­men­to 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 ri­sul­tan­te 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 se­le­zio­na­re una riga qualsiasi passando l’indice della riga de­si­de­ra­ta:

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

In questo esempio viene se­le­zio­na­ta 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 spe­ci­fi­che

Se desideri spe­ci­fi­ca­re non soltanto l’indice della riga ma anche quello della colonna, non devi far altro che passare questi valori a iloc[] se­pa­ran­do­li con una virgola:

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

La chiamata pre­ce­den­te di iloc[] in Pandas permette di se­le­zio­na­re 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 pos­si­bi­li­tà è se­le­zio­na­re più righe e colonne con­tem­po­ra­nea­men­te uti­liz­zan­do le slice di Python. A tal fine ricorda che l’indice dopo i due punti non viene preso in con­si­de­ra­zio­ne 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 pre­ce­den­te dà questo risultato:

Nome    Età
0    Anna    28
1    Bruno    24

In questo caso sono se­le­zio­na­te le prime due righe (0:2) e le prime due colonne (0:2). Il DataFrame ri­sul­tan­te contiene solo le sezioni cor­ri­spon­den­ti.

Selezione di righe e colonne spe­ci­fi­che con le liste

È possibile se­le­zio­na­re più colonne e righe anche uti­liz­zan­do le liste in Python. Il loro vantaggio sta nella pos­si­bi­li­tà di se­le­zio­na­re 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 se­le­zio­na­te 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
Vai al menu prin­ci­pa­le