# Pandas per Python: il metodo iloc\[\]

Il metodo `iloc[]` per DataFrame in [Pandas per Python](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/pandas-di-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.

## 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:

```python
DataFrame.iloc[selection]
```

È possibile utilizzare `iloc[]` in Pandas per **assegnare un singolo intero, una [lista di interi in Python](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/liste-in-python/), un oggetto slice oppure una [tupla](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/tuple-in-python/) 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:

```python
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)
```

Il DataFrame risultante si presenta così:

```none
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:

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

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

```none
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:

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

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.

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

Il codice precedente dà questo risultato:

```none
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:

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

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:

```none
Età   Città
0    28   Roma
2    22   Torino
```


This is a markdown version of: [https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/dataframe-iloc-in-pandas-per-python/](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/dataframe-iloc-in-pandas-per-python/) for AI/LLM consumption.