# Python Pandas : la propriété iloc\[\]

La propriété Python Pandas DataFrame `iloc[]` sert à sélectionner des données dans un DataFrame Pandas **en fonction de leur index**. Ainsi, des lignes et des colonnes spécifiques d’un DataFrame peuvent être visualisées en fonction de leur position.

## Syntaxe de Pandas `iloc[]`

Pandas `iloc[]` accepte les entiers qui spécifient **les éléments à sélectionner** dans le DataFrame. La syntaxe générale pour Pandas `DataFrame.iloc()` est :

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

Pandas `iloc[]` accepte plusieurs types d’arguments : **un entier seul, une liste Python d’entiers, un objet tranche ou un tuple avec des indices de lignes et de colonnes**.

## Utilisation de Pandas `DataFrame.iloc[]`

Le comportement de la propriété Pandas `iloc[]` varie en fonction de la valeur que vous lui donnez. Voici quelques exemples pratiques pour illustrer ce point.

### Sélection d’une ligne spécifique

Nous commençons par créer un DataFrame avec différentes personnes, leur âge ainsi que leur lieu de résidence :

```python
import pandas as pd
# Création d'un DataFrame d'exemple
données = {'Nom': ['Anna', 'Bob', 'Charlie', 'David'],
    'Âge': [28, 24, 22, 32],
    'Ville': ['Paris', 'Marseille', 'Lyon', 'Toulouse']}
df = pd.DataFrame(données)
print(df)
```

Le DataFrame résultant ressemble à ce qui suit :

```none
Nom  Âge      Ville
0     Anna   28      Paris
1      Bob   24  Marseille
2  Charlie   22    Lyon
3    David   32   Toulouse
```

En utilisant `iloc[]`, vous pouvez maintenant sélectionner n’importe quelle ligne en passant l’index de ligne souhaité :

```python
# Sélection de la première ligne
résultat = df.iloc[0]
print(résultat)
```

Dans cet exemple, la ligne nulle (0) est sélectionnée. Le résultat est la donnée pour Anna :

```none
Nom       Anna
Âge         28
Ville    Paris
Name: 0, dtype: object
```

### Sélection d’une ligne et d’une colonne spécifiques

Si vous souhaitez spécifier non seulement l’index de la ligne mais aussi celui de la colonne, passez simplement ces valeurs à `iloc[]` en les séparant par une virgule :

```python
# Sélection de la première ligne et de la première colonne
résultat = df.iloc[0, 1]
print(résultat)
```

L’appel à Pandas `iloc[]` ci-dessus permet de sélectionner la ligne zéro (0) et la première colonne (1). Le résultat est donc l’âge d’Anna : 28.

### Sélection de plusieurs lignes et colonnes avec des intervalles (`:`)

Vous pouvez également sélectionner plusieurs lignes et colonnes en même temps en utilisant des tranches Python. Dans une tranche (`start:stop`), la valeur `stop` est exclue de la sélection.

```python
# Sélection des deux premières lignes et des deux premières colonnes
résultat = df.iloc[0:2, 0:2]
print(résultat)
```

La sortie du code ci-dessus est la suivante :

```none
Nom  Âge
0  Anna   28
1   Bob   24
```

Ici, les deux premières lignes (`0:2`) et les deux premières colonnes (`0:2`) sont sélectionnées. Le DataFrame résultant ne contient que les extraits correspondants.

### Sélection de lignes et de colonnes spécifiques avec des listes

Plusieurs colonnes et lignes peuvent être sélectionnées à l’aide de listes Python. L’avantage de ces listes est qu’elles permettent également de sélectionner des lignes et colonnes non consécutives dans le DataFrame :

```python
# Sélection de la première et de la troisième ligne ainsi que de la deuxième et troisième colonne
résultat = df.iloc[[0, 2], [1, 2]]
print(résultat)
```

Ici, la ligne zéro et la deuxième ligne (`[0, 2]`) ainsi que la première et la deuxième colonne (`[1, 2]`) sont sélectionnées, ce qui donne la sortie suivante :

```none
Âge   Ville
0   28  Paris
2   22   Lyon
```

En Python, `iloc[]` est un outil essentiel pour accéder à des données en fonction de leur position. Il s’utilise souvent en complément de loc\[\], qui sélectionne des données par étiquette.


This is a markdown version of: [https://www.ionos.com/fr-be/digitalguide/sites-internet/developpement-web/python-pandas-dataframe-iloc/](https://www.ionos.com/fr-be/digitalguide/sites-internet/developpement-web/python-pandas-dataframe-iloc/) for AI/LLM consumption.