Hogyan válasszuk ki az adatokat a pandas DataFrames-ből a loc[] segítségével?
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]pythonloc[] 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 30Az „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'pythonA 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 BelfastA 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: objectTö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)pythonAz eredmény az eredeti DataFrame egy részhalmaza:
Name City
0 Alyssa Sheffield
1 Brandon Glasgow
2 Carmen BelfastSorok 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)pythonA 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