In de Python pandas-bibliotheek is DataFrame.loc[] een eigenschap waarmee u gegevens uit een DataFrame kunt selecteren met behulp van labels. Dit maakt het eenvoudig om specifieke rijen en kolommen uit een DataFrame te extraheren.

Wat is de syntaxis voor pandas loc[]?

De syntaxis voor loc[] is vrij eenvoudig. Het enige wat u hoeft te doen is de labels van de kolommen en rijen die u wilt selecteren als parameter doorgeven:

DataFrame.loc[selection]
python

Met pandas loc[] worden selecties voornamelijk gemaakt met behulp van labels. Dit betekent dat de parameter die u opgeeft een enkel label, een lijst of een reeks labels kan zijn. Booleaanse arrays kunnen ook worden gebruikt.

Wat is het verschil tussen loc[] en iloc[]?

Terwijl pandas DataFrame.loc[] gegevens selecteert op basis van labels, selecteert DataFrame.iloc gegevens op basis van posities op basis van gehele getallen. Hier is een codevoorbeeld om de verschillen te illustreren. Eerst gaan we een pandas DataFrame maken:

import pandas as pd
# Example DataFrame
data = {'Name': ['Alyssa', 'Brandon', 'Carmen'], 'Age': [23, 35, 30]}
df = pd.DataFrame(data)
print(df)
python

Zo ziet het DataFrame eruit:

Name    Age
0   Alyssa     	23
1 	Brandon     35
2  	Carmen     	30

Om ‘Alyssa’ uit het DataFrame te halen, kun je zowel pandas loc[] als iloc[] gebruiken. Hoewel de aanpak verschilt, is het resultaat hetzelfde:

# Using loc and labels to extract Alyssa
print(df.loc[0, 'Name'])  # Output: 'Alyssa'
# Using iloc and integers to extract Alysa
print(df.iloc[0, 0])  # Output: 'Alyssa'
python

Hoe pandas DataFrame.loc[] te gebruiken

Pandas loc[] helpt u bij het extraheren van subsets van uw DataFrame. Met loc[] kunt u een enkele rij of kolom, meerdere rijen en kolommen extraheren of zelfs voorwaarden toepassen voor het filteren. Deze flexibiliteit maakt het geschikt voor verschillende gebruikssituaties.

Een enkele rij selecteren

Laten we eens kijken naar een voorbeeld van een DataFrame:

import pandas as pd
data = {
    'Name': ['Alyssa', 'Brandon', 'Carmen'],
    'Age': [23, 35, 30],
    'City': ['Sheffield', 'Glasgow', 'Belfast']
}
df = pd.DataFrame(data)
print(df)
python

Dit is hoe het resulterende DataFrame eruitziet:

Name  	Age      City
0   Alyssa  23	 	Sheffield
1 Brandon  	35    Glasgow
2 Carmen    30    Belfast

Om de gegevens te selecteren uit de rij die informatie bevat over Brandon (index 1), kunt u pandas loc[] gebruiken:

brandon_data = df.loc[1]
print(brandon_data)
python

Dit is het resultaat:

Name         Brandon
Age              35
City        	Glasgow
Name: 1, dtype: object

Meerdere kolommen selecteren

Je kunt ook DataFrame.loc[] gebruiken om een subset van kolommen te selecteren. De volgende code selecteert de kolommen ‘Naam’ en ‘Stad’:

name_city = df.loc[:, ['Name', 'City']]
print(name_city)
python

Het resultaat is een subset van het oorspronkelijke DataFrame:

Name     City
0   Alyssa  Sheffield
1 Brandon   Glasgow
2  Carmen   Belfast

Rijen selecteren op basis van voorwaarden

Met pandas loc[] kunt u ook rijen selecteren die aan specifieke criteria voldoen. Dit kunt u doen met Booleaanse vergelijkingsoperatoren. Hier volgt bijvoorbeeld hoe u alle personen ouder dan 25 kunt filteren:

older_than_25 = df.loc[df['Age'] > 25]
print(older_than_25)
python

De bovenstaande code produceert een DataFrame die alleen gegevens bevat voor personen in de DataFrame die ouder zijn dan 25 jaar:

Name  	Age     City
1 Brandon     35   Glasgow
2  Carmen     30   Belfast
Ga naar hoofdmenu