Python pandas bi­b­lio­te­ko­je DataFrame.loc[] yra savybė, lei­džian­ti pa­si­rink­ti duomenis iš DataFrame naudojant žymes. Tai leidžia lengvai išgauti konk­re­čias eilutes ir stul­pe­lius iš DataFrame.

Kokia yra pandas loc[] sintaksė?

loc[] sintaksė yra gana paprasta. Viskas, ką reikia padaryti, tai perduoti stulpelių ir eilučių, kurias norite pa­si­rink­ti, etiketes kaip parametrą:

DataFrame.loc[selection]
python

Naudojant pandas loc[], atranka pir­miau­sia atliekama naudojant žymes. Tai reiškia, kad jūsų pateiktas pa­ra­met­ras gali būti viena žymė, sąrašas arba žymių frag­men­tas. Taip pat galima naudoti ir boolių masyvus.

Koks skirtumas tarp loc[] ir iloc[]?

Pandas DataFrame.loc[] atrenka duomenis pagal žymes, o DataFrame.iloc atrenka duomenis pagal sveikųjų skaičių pozicijas. Štai kodas, pa­de­dan­tis iliust­ruo­ti skirtumus. Pir­miau­sia sukursime pandas DataFrame:

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

Štai kaip atrodo duomenų rėmelis:

Name    Age
0   Alyssa     	23
1 	Brandon     35
2  	Carmen     	30

Norėdami išgauti „Alyssa“ iš DataFrame, galite naudoti tiek pandas loc[], tiek iloc[]. Nors metodai skiriasi, re­zul­ta­tas yra tas pats:

# 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

Kaip naudoti pandas DataFrame.loc[]

Pandas loc[] padeda išgauti DataFrame duomenų rinkinį. Naudodami loc[], galite išgauti vieną eilutę ar stulpelį, kelias eilutes ir stul­pe­lius arba netgi taikyti fil­t­ra­vi­mo sąlygas. Dėl šio lankstumo jis tinka įvairiems naudojimo atvejams.

Vienos eilutės pa­si­rin­ki­mas

Pa­žvel­ki­me į DataFrame pavyzdį:

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

Štai kaip atrodo galutinis duomenų rėmelis:

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

Norėdami atrinkti duomenis iš eilutės, kurioje yra in­for­ma­ci­ja apie Brandoną (indeksas 1), galite naudoti pandas loc[]:

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

Štai re­zul­ta­tas:

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

Kelių stulpelių pa­si­rin­ki­mas

Taip pat galite naudoti DataFrame.loc[], kad at­rink­tu­mė­te stulpelių pogrupį. Šis kodas atrenka stul­pe­lius „Vardas“ ir „Miestas“:

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

Re­zul­ta­tas yra ori­gi­na­laus DataFrame pogrupis:

Name     City
0   Alyssa  Sheffield
1 Brandon   Glasgow
2  Carmen   Belfast

Eilučių atranka pagal sąlygas

Naudodami pandas loc[], taip pat galite pa­si­rink­ti eilutes, kurios atitinka tam tikrus kri­te­ri­jus. Tai galite padaryti naudodami Būlio lyginimo ope­ra­to­rius. Pa­vyz­džiui, štai kaip atrinkti visus asmenis, kurie yra vyresni nei 25 metai:

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

Pateiktas kodas sukuria duomenų rėmelį, kuriame yra tik duomenys apie duomenų rėmelyje esančius asmenis, vyresnius nei 25 metai:

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