A Python pandas könyvtárban DataFrame.loc[] egy olyan tulajdonság, amely lehetővé teszi, hogy címkék segítségével válasszon ki adatokat egy DataFrame-ből. Ez megkönnyíti a DataFrame-ből bizonyos sorok és oszlopok kivonását.

Mi a pandas loc[] szintaxisa?

A loc[] szintaxisa meglehetősen egyszerű. Csak annyit kell tennie, hogy paraméterként átadja a kiválasztani kívánt oszlopok és sorok címkéit:

DataFrame.loc[selection]
python

loc[] pandas loc[] a kiválasztás elsősorban címkék segítségével történik. Ez azt jelenti, hogy a megadott paraméter lehet egyetlen címke, lista vagy címkék szelete. Boole-típusú tömbök is használhatók.

Mi a különbség loc[] és iloc[] között?

Míg a pandas DataFrame.loc[] címkék alapján választja ki az adatokat, addig a DataFrame.iloc egész szám alapú pozíciók alapján választja ki az adatokat. Íme egy kódpélda, amely segít szemléltetni a különbségeket. Először létrehozunk egy pandas DataFrame-et:

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

Így néz ki a DataFrame:

Name    Age
0   Alyssa     	23
1 	Brandon     35
2  	Carmen     	30

Az „Alyssa” kivonásához a DataFrame-ből mind a pandas loc[], mind iloc[] használható. Bár a megközelítés eltérő, az eredmény ugyanaz:

# 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

A pandák használata DataFrame.loc[]

A Pandas loc[] segít kivonni a DataFrame alhalmazait. loc[]-mal kivonhat egy sor vagy oszlopot, több sort és oszlopot, vagy akár szűrési feltételeket is alkalmazhat. Ez a rugalmasság alkalmassá teszi számos felhasználási esetre.

Egy sor kiválasztása

Nézzünk meg egy DataFrame példát:

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

Így néz ki az eredményül kapott DataFrame:

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

A Brandonról szóló információkat tartalmazó sor (index 1) adatainak kiválasztásához használhatja a pandas loc[]:

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

Íme az eredmény:

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

Több oszlop kiválasztása

A DataFrame.loc[] segítségével oszlopok egy részhalmazát is kiválaszthatja. Az alábbi kód a „Name” és „City” oszlopokat választja ki:

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

Az eredmény az eredeti DataFrame egy részhalmaza:

Name     City
0   Alyssa  Sheffield
1 Brandon   Glasgow
2  Carmen   Belfast

Sorok kiválasztása feltételek alapján

A pandas loc[] segítségével olyan sorokat is kiválaszthat, amelyek megfelelnek bizonyos kritériumoknak. Ehhez booles összehasonlító operátorokat használhat. Például így szűrheti ki az összes 25 évnél idősebb személyt:

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

A fenti kód egy DataFrame-et hoz létre, amely csak a DataFrame-ben szereplő, 25 évnél idősebb személyek adatait tartalmazza:

Name  	Age     City
1 Brandon     35   Glasgow
2  Carmen     30   Belfast
Ugrás a főmenübe