Kako izbrati podatke iz pandas DataFrames z loc[]
V knjižnici Python pandas je DataFrame.loc[] lastnost, ki omogoča izbiro podatkov iz DataFrame z uporabo oznak. To olajša izpisovanje 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 posredujete oznake stolpcev in vrstic, ki jih želite izbrati:
DataFrame.loc[selection]pythonV pandas loc[] se izbire opravljajo predvsem z uporabo oznak. To pomeni, da je parameter, ki ga navedete, lahko ena oznaka, seznam ali del oznak. Uporabite lahko tudi booleanske 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 celoštevilčnih položajev. Tukaj je primer kode, ki pomaga ponazoriti 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)pythonTako izgleda DataFrame:
Name Age
0 Alyssa 23
1 Brandon 35
2 Carmen 30Za izpisovanje »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'pythonKako uporabljati pandas DataFrame.loc[]
Pandas loc[] vam pomaga izločiti podskupine vašega DataFrame. Z loc[] lahko izločite eno vrstico ali stolpec, več vrstic in stolpcev ali celo uporabite pogoje za filtriranje. Ta prilagodljivost ga naredi primernega 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)pythonTako izgleda končni DataFrame:
Name Age City
0 Alyssa 23 Sheffield
1 Brandon 35 Glasgow
2 Carmen 30 BelfastZa izbiro podatkov iz vrstice, ki vsebuje informacije o Brandonu (indeks 1), lahko uporabite pandas loc[]:
brandon_data = df.loc[1]
print(brandon_data)pythonTukaj je rezultat:
Name Brandon
Age 35
City Glasgow
Name: 1, dtype: objectIzbiranje več stolpcev
Za izbiro podskupine stolpcev lahko uporabite tudi DataFrame.loc[]. Naslednja koda izbere stolpca „Ime“ in „Mesto“:
name_city = df.loc[:, ['Name', 'City']]
print(name_city)pythonRezultat je podskupina izvirnega DataFrame:
Name City
0 Alyssa Sheffield
1 Brandon Glasgow
2 Carmen BelfastIzbiranje vrstic na podlagi pogojev
S pandas loc[] lahko izberete tudi vrstice, ki ustrezajo določenim merilom. To lahko storite z booleanskimi primerjalnimi operacijami. 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)pythonZgornja koda ustvari DataFrame, ki vključuje samo podatke za posameznike v DataFrame, starejše od 25 let:
Name Age City
1 Brandon 35 Glasgow
2 Carmen 30 Belfast