# Hoe pandas DataFrames te indexeren

De indexering van Python pandas DataFrames maakt efficiënte en directe toegang tot gegevens mogelijk. Het maakt het gemakkelijker om specifieke rijen en kolommen te selecteren, wat gegevensanalysetaken vereenvoudigt.

## Wat is indexering in pandas?

Indexering in pandas verwijst naar verschillende methoden die u kunt gebruiken om rijen of kolommen te selecteren. Met behulp van labels van rijen en kolommen of hun numerieke positie binnen het DataFrame kunt u **eenvoudig elementen in een DataFrame selecteren**. Een index fungeert als een **soort adrestsysteem voor uw gegevens**, waardoor u uw gegevens efficiënter kunt lokaliseren en beheren.

## Wat is pandas `DataFrame.index`?

Je kunt de indexlabels van een DataFrame in pandas bekijken met behulp van het `index`. De syntaxis ziet er als volgt uit:

```python
DataFrame.index
```

## Wat is de syntaxis voor het indexeren van DataFrames in pandas?

Er zijn verschillende manieren om pandas DataFrames te indexeren, en de syntaxis varieert afhankelijk van de bewerking die u wilt uitvoeren.

### Indexeren met labels (kolomlabels)

Je kunt kolomnamen gebruiken om pandas DataFrames te indexeren. Hier is een voorbeeld van hoe je een voorbeeld DataFrame kunt maken:

```python
import pandas as pd
# Creating a sample DataFrame
data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['Nottingham', 'London', 'Cardiff']
}
df = pd.DataFrame(data)
print(df)
```

Zo ziet het DataFrame eruit:

```none
Name  Age       City
0    Alice   25     Nottingham
1    Bob   30  	London
2  Charlie   35    Cardiff
```

Om toegang te krijgen tot alle waarden in een kolom, kunt u de kolomnaam samen met de indexeringsoperator `[]` gebruiken. Voer gewoon de kolomnaam als een Python-string in binnen de indexeringsoperator:

```python
# Access the Age column
print(df['Age'])
```

De uitvoer is een lijst met leeftijden:

```none
0    25
1    30
2    35
Name: Age, dtype: int64
```

Om de gegevens van meer dan één kolom op te halen, schrijft u de kolomnamen in de indexeringsoperator en plaatst u komma’s tussen de kolomnamen om ze te scheiden.

### Indexering met `loc[]` (rijlabels)

Als u toegang wilt tot een specifieke rij in uw DataFrame, kunt u de [pandas loc-indexer](https://www.ionos.com/nl-be/digitalguide/websites/webontwikkeling/python-pandas-dataframe-loc/) gebruiken. U kunt het rijlabel of rijnummer doorgeven aan de indexer. In dit voorbeeld gebruiken we dezelfde DataFrame als hierboven en halen we de **waarden uit de eerste rij** (rij 0):

```python
print(df.loc[0])
```

De bovenstaande code geeft de waarden voor Alice weer, die in de eerste rij van het DataFrame staan:

```none
Name        Alice
Age            25
City      Nottingham
Name: 0, dtype: object
```

### Indexering met `iloc[]` (rij- en kolomnummers)

Een andere manier om toegang te krijgen tot specifieke elementen in uw DataFrame is via rij- en kolomnummers. Dit is waarschijnlijk de meest populaire manier om elementen in een DataFrame te lokaliseren. Om de numerieke index te gebruiken, hebt u het [DataFrame-attribuut iloc](https://www.ionos.com/nl-be/digitalguide/websites/webontwikkeling/python-pandas-dataframe-iloc/) nodig.

```python
# Access the first row
print(df.iloc[0])
# Access the value in the first row and second column
print(df.iloc[0, 1])
```

Dit is het resultaat bij het werken met `iloc[]`:

```none
Name        Alice
Age            25
City      Nottingham
Name: 0, dtype: object
25
```

### Toegang tot individuele waarden

Als u slechts één waarde wilt opvragen, is de `at` een snelle, eenvoudige manier om dat te doen. Met deze indexer kunt u rijen en kolommen definiëren **aan de hand van hun labels**. Als u bijvoorbeeld wilt weten waar Bob woont, typt u ‘1’ voor de rij en ‘City’ voor de kolom:

```python
print(df.at[1, 'City'])
```

Hier krijgen we de uitvoer Londen.

Als alternatief kunt u de **20-indexer** gebruiken, die op dezelfde manier werkt als `at`, maar de op gehele getallen gebaseerde **kolompositie** gebruikt **in plaats van de naam**. De onderstaande code levert hetzelfde resultaat op als het vorige voorbeeld:

```python
print(df.iat[1, 2])
```

### Booleaanse indexering

U kunt ook subsets van een DataFrame maken op basis van een voorwaarde. Dit staat bekend als **Booleaanse indexering**. De voorwaarde moet uitkomen op `True` of `False` en wordt rechtstreeks in de indexeringsoperator geplaatst. Als u bijvoorbeeld rijen wilt selecteren die personen bevatten die ouder zijn dan 30 jaar, kunt u de volgende code gebruiken:

```python
# Select rows where Age is greater than 30
print(df[df['Age'] > 30])
```

De enige persoon die ouder is dan 30 is Charlie, wat resulteert in de volgende uitvoer:

```none
Name  Age     City
2  Charlie   35    Cardiff
```

Opmerking Onthoud dat u bij het uitvoeren van Booleaanse indexering alle Booleaanse vergelijkingsoperatoren kunt gebruiken die uitkomen op `True` of `False`. Lees meer over verschillende Python-operatoren in ons speciale artikel over dit onderwerp.


This is a markdown version of: [https://www.ionos.com/nl-be/digitalguide/websites/webontwikkeling/python-pandas-dataframe-indexering/](https://www.ionos.com/nl-be/digitalguide/websites/webontwikkeling/python-pandas-dataframe-indexering/) for AI/LLM consumption.