Kuidas valida andmeid pandas DataFrames'ist loc[] abil
Python pandas raamatukogus on DataFrame.loc[] omadus, mis võimaldab valida andmeid DataFrame’ist siltide abil. See muudab DataFrame’ist konkreetsete ridade ja veergude väljavõtmise lihtsaks.
Mis on pandas loc[] süntaks?
loc[] süntaks on üsna lihtne. Kõik, mida peate tegema, on edastada parameetrina valitud veergude ja ridade sildid:
DataFrame.loc[selection]pythonPandas loc[] versioonis tehakse valikud peamiselt siltide abil. See tähendab, et teie poolt esitatud parameeter võib olla üksik silt, nimekiri või siltide valik. Samuti võib kasutada boolesed massiivid.
Mis vahe on loc[] ja iloc[] vahel?
Kui pandas DataFrame.loc[] valib andmed siltide alusel, siis DataFrame.iloc valib andmed täisarvupõhiste positsioonide alusel. Siin on koodinäide, mis aitab erinevusi illustreerida. Esmalt loome pandas DataFrame’i:
import pandas as pd
# Example DataFrame
data = {'Name': ['Alyssa', 'Brandon', 'Carmen'], 'Age': [23, 35, 30]}
df = pd.DataFrame(data)
print(df)pythonSiin on näha, kuidas DataFrame välja näeb:
Name Age
0 Alyssa 23
1 Brandon 35
2 Carmen 30Andmestruktuurist „Alyssa” väljavõtmiseks võite kasutada nii pandas loc[] kui ka iloc[]. Kuigi lähenemisviis on erinev, on tulemus sama:
# 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'pythonKuidas kasutada pandas DataFrame.loc[]
Pandas loc[] aitab teil ekstraktida DataFrame’i alamhulki. loc[] abil saate ekstraktida ühe rea või veeru, mitu rida ja veergu või isegi rakendada filtreerimise tingimusi. See paindlikkus muudab selle sobivaks mitmesugusteks kasutustapeteks.
Ühe rea valimine
Vaadakem DataFrame’i näidet:
import pandas as pd
data = {
'Name': ['Alyssa', 'Brandon', 'Carmen'],
'Age': [23, 35, 30],
'City': ['Sheffield', 'Glasgow', 'Belfast']
}
df = pd.DataFrame(data)
print(df)pythonSiin on tulemuseks saadud andmestruktuur:
Name Age City
0 Alyssa 23 Sheffield
1 Brandon 35 Glasgow
2 Carmen 30 BelfastBrandonit (indeks 1) käsitleva rea andmete valimiseks võite kasutada pandas loc[]:
brandon_data = df.loc[1]
print(brandon_data)pythonSiin on tulemus:
Name Brandon
Age 35
City Glasgow
Name: 1, dtype: objectMitme veeru valimine
Võite kasutada ka DataFrame.loc[], et valida veergude alamhulk. Järgmine kood valib veerud „Nimi” ja „Linn”:
name_city = df.loc[:, ['Name', 'City']]
print(name_city)pythonTulemuseks on algse DataFrame’i alamhulk:
Name City
0 Alyssa Sheffield
1 Brandon Glasgow
2 Carmen BelfastRidade valimine tingimuste alusel
Pandas loc[] abil saate valida ka ridade, mis vastavad kindlatele kriteeriumidele. Seda saate teha Boole’i võrdlusoperaatorite abil. Näiteks nii saate välja filtreerida kõik isikud, kes on vanemad kui 25:
older_than_25 = df.loc[df['Age'] > 25]
print(older_than_25)pythonEespool toodud kood loob andmestiku, mis sisaldab ainult andmeid andmestikus olevate isikute kohta, kes on vanemad kui 25:
Name Age City
1 Brandon 35 Glasgow
2 Carmen 30 Belfast