In de Python pandas-bi­bli­o­theek is DataFrame.loc[] een ei­gen­schap waarmee u gegevens uit een DataFrame kunt se­lec­te­ren met behulp van labels. Dit maakt het eenvoudig om spe­ci­fie­ke rijen en kolommen uit een DataFrame te ex­tra­he­ren.

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 se­lec­te­ren als parameter doorgeven:

DataFrame.loc[selection]
python

Met pandas loc[] worden selecties voor­na­me­lijk gemaakt met behulp van labels. Dit betekent dat de parameter die u opgeeft een enkel label, een lijst of een reeks labels kan zijn. Boole­aan­se arrays kunnen ook worden gebruikt.

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

Terwijl pandas DataFrame.loc[] gegevens se­lec­teert op basis van labels, se­lec­teert DataFrame.iloc gegevens op basis van posities op basis van gehele getallen. Hier is een co­de­voor­beeld om de ver­schil­len te il­lu­stre­ren. 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 ex­tra­he­ren van subsets van uw DataFrame. Met loc[] kunt u een enkele rij of kolom, meerdere rijen en kolommen ex­tra­he­ren of zelfs voor­waar­den toepassen voor het filteren. Deze flexi­bi­li­teit maakt het geschikt voor ver­schil­len­de ge­bruiks­si­tu­a­ties.

Een enkele rij se­lec­te­ren

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 re­sul­te­ren­de DataFrame eruitziet:

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

Om de gegevens te se­lec­te­ren uit de rij die in­for­ma­tie 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 se­lec­te­ren

Je kunt ook DataFrame.loc[] gebruiken om een subset van kolommen te se­lec­te­ren. De volgende code se­lec­teert de kolommen ‘Naam’ en ‘Stad’:

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

Het resultaat is een subset van het oor­spron­ke­lij­ke DataFrame:

Name     City
0   Alyssa  Sheffield
1 Brandon   Glasgow
2  Carmen   Belfast

Rijen se­lec­te­ren op basis van voor­waar­den

Met pandas loc[] kunt u ook rijen se­lec­te­ren die aan spe­ci­fie­ke criteria voldoen. Dit kunt u doen met Boole­aan­se ver­ge­lij­kings­ope­ra­to­ren. Hier volgt bij­voor­beeld hoe u alle personen ouder dan 25 kunt filteren:

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

De bo­ven­staan­de code pro­du­ceert 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