V knjižnici Python pandas je DataFrame.loc[] lastnost, ki omogoča izbiro podatkov iz DataFrame z uporabo oznak. To olajša iz­pi­so­va­nje določenih vrstic in stolpcev iz DataFrame.

Kakšna je sintaksa za pandas loc[]?

Sintaksa za loc[] je precej preprosta. Vse, kar morate storiti, je, da kot parameter po­sre­du­je­te oznake stolpcev in vrstic, ki jih želite izbrati:

DataFrame.loc[selection]
python

V pandas loc[] se izbire opra­vlja­jo predvsem z uporabo oznak. To pomeni, da je parameter, ki ga navedete, lahko ena oznaka, seznam ali del oznak. Uporabite lahko tudi boo­le­an­ske nize.

Kakšna je razlika med loc[] in iloc[]?

Medtem ko pandas DataFrame.loc[] izbira podatke na podlagi oznak, DataFrame.iloc izbira podatke na podlagi ce­lo­šte­vilč­nih položajev. Tukaj je primer kode, ki pomaga po­na­zo­ri­ti razlike. Najprej bomo ustvarili pandas DataFrame:

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

Tako izgleda DataFrame:

Name    Age
0   Alyssa     	23
1 	Brandon     35
2  	Carmen     	30

Za iz­pi­so­va­nje »Alyssa« iz DataFrame lahko uporabite pandas loc[] in iloc[]. Čeprav se pristop razlikuje, je rezultat enak:

# 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

Kako upo­ra­blja­ti pandas DataFrame.loc[]

Pandas loc[] vam pomaga izločiti pod­sku­pi­ne vašega DataFrame. Z loc[] lahko izločite eno vrstico ali stolpec, več vrstic in stolpcev ali celo uporabite pogoje za fil­tri­ra­nje. Ta pri­la­go­dlji­vost ga naredi pri­mer­ne­ga za različne primere uporabe.

Izbiranje ene vrstice

Poglejmo primer 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

Tako izgleda končni DataFrame:

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

Za izbiro podatkov iz vrstice, ki vsebuje in­for­ma­ci­je o Brandonu (indeks 1), lahko uporabite pandas loc[]:

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

Tukaj je rezultat:

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

Izbiranje več stolpcev

Za izbiro pod­sku­pi­ne stolpcev lahko uporabite tudi DataFrame.loc[]. Naslednja koda izbere stolpca „Ime“ in „Mesto“:

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

Rezultat je pod­sku­pi­na izvirnega DataFrame:

Name     City
0   Alyssa  Sheffield
1 Brandon   Glasgow
2  Carmen   Belfast

Izbiranje vrstic na podlagi pogojev

S pandas loc[] lahko izberete tudi vrstice, ki ustrezajo določenim merilom. To lahko storite z boo­le­an­ski­mi pri­mer­jal­ni­mi ope­ra­ci­ja­mi. Na primer, tako lahko izločite vse osebe, starejše od 25 let:

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

Zgornja koda ustvari DataFrame, ki vključuje samo podatke za po­sa­me­zni­ke v DataFrame, starejše od 25 let:

Name  	Age     City
1 Brandon     35   Glasgow
2  Carmen     30   Belfast
Go to Main Menu