I Python pandas- bi­bli­o­te­ket er DataFrame.loc[] en egenskab, der giver dig mulighed for at vælge data fra en DataFrame ved hjælp af etiketter. Dette gør det nemt at udtrække bestemte rækker og kolonner fra en DataFrame.

Hvad er syntaksen for pandas loc[]?

Syntaksen for loc[] er ganske enkel. Alt du skal gøre er at indtaste eti­ket­ter­ne for de kolonner og rækker, du vil vælge, som en parameter:

DataFrame.loc[selection]
python

Med pandas loc[] foretages valg primært ved hjælp af labels. Det betyder, at den parameter, du angiver, kan være en enkelt label, en liste eller en række labels. Boolean-arrays kan også bruges.

Hvad er for­skel­len mellem loc[] og iloc[]?

Mens pandas DataFrame.loc[] vælger data baseret på etiketter, vælger DataFrame.iloc data baseret på hel­tal­ba­se­re­de po­si­tio­ner. Her er et ko­de­ek­sem­pel, der il­lu­stre­rer for­skel­le­ne. Først opretter vi en pandas DataFrame:

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

Sådan ser DataFrame ud:

Name    Age
0   Alyssa     	23
1 	Brandon     35
2  	Carmen     	30

For at udtrække ‘Alyssa’ fra DataFrame kan du bruge både pandas loc[] og iloc[]. Selvom frem­gangs­må­den er for­skel­lig, er re­sul­ta­tet det samme:

# 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

Sådan bruges pandas DataFrame.loc[]

Pandas loc[] hjælper dig med at udtrække del­mæng­der af din DataFrame. Med loc[] kan du udtrække en enkelt række eller kolonne, flere rækker og kolonner eller endda anvende be­tin­gel­ser til fil­tre­ring. Denne flek­si­bi­li­tet gør det velegnet til en række for­skel­li­ge an­ven­del­ses­til­fæl­de.

Valg af en enkelt række

Lad os se på et eksempel med 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

Sådan ser den re­sul­te­ren­de DataFrame ud:

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

For at vælge data fra den række, der in­de­hol­der op­lys­nin­ger om Brandon (indeks 1), kan du bruge pandas loc[]:

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

Her er re­sul­ta­tet:

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

Valg af flere kolonner

Du kan også bruge DataFrame.loc[] til at vælge en delmængde af kolonner. Følgende kode vælger ko­lon­ner­ne ‘Navn’ og ‘By’:

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

Re­sul­ta­tet er en delmængde af den op­rin­de­li­ge DataFrame:

Name     City
0   Alyssa  Sheffield
1 Brandon   Glasgow
2  Carmen   Belfast

Valg af rækker baseret på be­tin­gel­ser

Med pandas loc[] kan du også vælge rækker, der opfylder bestemte kriterier. Det kan du gøre med boolske sam­men­lig­nings­o­pe­ra­to­rer. Her er et eksempel på, hvordan du filtrerer alle personer, der er ældre end 25 år:

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

Oven­stå­en­de kode genererer en DataFrame, der kun in­de­hol­der data for personer i DataFrame, der er ældre end 25 år:

Name  	Age     City
1 Brandon     35   Glasgow
2  Carmen     30   Belfast
Gå til ho­ved­me­nu­en