Kaip atrinkti duomenis iš pandas DataFrames naudojant loc[]
Python pandas bibliotekoje DataFrame.loc[] yra savybė, leidžianti pasirinkti duomenis iš DataFrame naudojant žymes. Tai leidžia lengvai išgauti konkrečias eilutes ir stulpelius iš DataFrame.
Kokia yra pandas loc[] sintaksė?
loc[] sintaksė yra gana paprasta. Viskas, ką reikia padaryti, tai perduoti stulpelių ir eilučių, kurias norite pasirinkti, etiketes kaip parametrą:
DataFrame.loc[selection]pythonNaudojant pandas loc[], atranka pirmiausia atliekama naudojant žymes. Tai reiškia, kad jūsų pateiktas parametras gali būti viena žymė, sąrašas arba žymių fragmentas. 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, padedantis iliustruoti skirtumus. Pirmiausia 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 30Norėdami išgauti „Alyssa“ iš DataFrame, galite naudoti tiek pandas loc[], tiek iloc[]. Nors metodai skiriasi, rezultatas 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'pythonKaip naudoti pandas DataFrame.loc[]
Pandas loc[] padeda išgauti DataFrame duomenų rinkinį. Naudodami loc[], galite išgauti vieną eilutę ar stulpelį, kelias eilutes ir stulpelius arba netgi taikyti filtravimo sąlygas. Dėl šio lankstumo jis tinka įvairiems naudojimo atvejams.
Vienos eilutės pasirinkimas
Pažvelkime į 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 BelfastNorėdami atrinkti duomenis iš eilutės, kurioje yra informacija apie Brandoną (indeksas 1), galite naudoti pandas loc[]:
brandon_data = df.loc[1]
print(brandon_data)pythonŠtai rezultatas:
Name Brandon
Age 35
City Glasgow
Name: 1, dtype: objectKelių stulpelių pasirinkimas
Taip pat galite naudoti DataFrame.loc[], kad atrinktumėte stulpelių pogrupį. Šis kodas atrenka stulpelius „Vardas“ ir „Miestas“:
name_city = df.loc[:, ['Name', 'City']]
print(name_city)pythonRezultatas yra originalaus DataFrame pogrupis:
Name City
0 Alyssa Sheffield
1 Brandon Glasgow
2 Carmen BelfastEilučių atranka pagal sąlygas
Naudodami pandas loc[], taip pat galite pasirinkti eilutes, kurios atitinka tam tikrus kriterijus. Tai galite padaryti naudodami Būlio lyginimo operatorius. Pavyzdžiui, štai kaip atrinkti visus asmenis, kurie yra vyresni nei 25 metai:
older_than_25 = df.loc[df['Age'] > 25]
print(older_than_25)pythonPateiktas 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