Python pandas bib­lio­tē­kā DataFrame.loc[] ir īpašība, kas ļauj iz­vē­lē­ties datus no DataFrame, iz­man­to­jot etiķetes. Tas atvieglo konkrētu rindu un kolonnu iz­vilkša­nu no DataFrame.

Kāda ir pandas loc[] sintakse?

loc[] sintakse ir diezgan vienkārša. Viss, kas jums jādara, ir kā parametru nodot izvēlēto kolonnu un rindu no­sau­ku­mus:

DataFrame.loc[selection]
python

Ar pandas loc[] izvēle gal­ve­no­kārt tiek veikta, iz­man­to­jot marķierus. Tas nozīmē, ka jūsu no­rā­dī­tais parametrs var būt viens marķieris, saraksts vai marķieru fragments. Var izmantot arī booles masīvus.

Kāda ir atšķirība starp loc[] un iloc[]?

Kamēr pandas DataFrame.loc[] atlasa datus, pa­ma­to­jo­ties uz etiķetēm, DataFrame.iloc atlasa datus, pa­ma­to­jo­ties uz veselo skaitļu pozīcijām. Šeit ir koda piemērs, kas palīdz ilustrēt at­šķi­rī­bas. Vispirms iz­vei­do­sim pandas DataFrame:

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

Šādi izskatās DataFrame:

Name    Age
0   Alyssa     	23
1 	Brandon     35
2  	Carmen     	30

Lai izvilktu “Alyssa” no DataFrame, varat izmantot gan pandas loc[], gan iloc[]. Lai gan pieeja atšķiras, rezultāts ir viens un 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

Kā lietot pandas DataFrame.loc[]

Pandas loc[] palīdz izgūt DataFrame ap­akš­ko­pas. Ar loc[] var izgūt vienu rindu vai kolonu, vairākas rindas un kolonnas vai pat piemērot fil­trē­ša­nas no­sa­cī­ju­mus. Šī elastība padara to piemērotu dažādiem lie­to­ša­nas ga­dī­ju­miem.

Vienas rindas at­la­sī­ša­na

Ap­ska­tī­sim DataFrame piemēru:

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

Šeit ir redzams, kā izskatās rezultātā iegūtais DataFrame:

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

Lai atlasītu datus no rindas, kas satur in­for­mā­ci­ju par Brandonu (indekss 1), varat izmantot pandas loc[]:

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

Šeit ir rezultāts:

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

Vairāku kolonnu atlase

Jūs varat arī izmantot DataFrame.loc[], lai atlasītu kolonnu apakškopu. Šis kods atlasa kolonnu “Name” un “City”:

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

Rezultāts ir sākotnējā DataFrame apakškopa:

Name     City
0   Alyssa  Sheffield
1 Brandon   Glasgow
2  Carmen   Belfast

Rindu atlase, pa­ma­to­jo­ties uz no­sa­cī­ju­miem

Ar pandas loc[] varat arī atlasīt rindas, kas atbilst kon­krē­tiem kri­tē­ri­jiem. To var izdarīt, iz­man­to­jot Boole’a sa­lī­dzi­nā­ša­nas ope­ra­to­rus. Piemēram, šeit ir parādīts, kā atlasīt visus indivīdus, kas ir vecāki par 25 gadiem:

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

Iepriekš minētais kods izveido DataFrame, kas ietver tikai datus par DataFrame in­di­vī­diem, kuri ir vecāki par 25 gadiem:

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