Kuidas indekseerida pandas DataFrames
Python pandas DataFrames’i indekseerimine võimaldab andmetele tõhusat ja otsest juurdepääsu. See lihtsustab konkreetsete ridade ja veergude valimist, muutes andmete analüüsi ülesanded lihtsamaks.
Mis on indeksimine pandas?
Indekseerimine pandas viitab erinevatele meetoditele, mida saab kasutada ridade või veergude valimiseks. Ridade ja veergude siltide või nende numbrilise positsiooni abil DataFrame’is saate hõlpsasti valida elemente DataFrame’is. Indeks toimib teie andmete aadressisüsteemina, aidates teil andmeid tõhusamalt leida ja hallata.
Mis on pandas DataFrame.index?
Saate vaadata DataFrame’i indeksietikette pandas’es, kasutades atribuuti index. Süntaks on järgmine:
DataFrame.indexpythonMilline on pandas’is DataFrame’ide indekseerimise süntaks?
Pandas DataFrames’i indekseerimiseks on mitu viisi ja süntaks varieerub sõltuvalt soovitud toimingust.
Indekseerimine siltidega (veerusiltidega)
Saate kasutada veeru nimesid pandas DataFrames’i indekseerimiseks. Siin on näide, kuidas luua näidis DataFrame:
import pandas as pd
# Creating a sample DataFrame
data = {
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['Nottingham', 'London', 'Cardiff']
}
df = pd.DataFrame(data)
print(df)pythonSiin on näha, kuidas DataFrame välja näeb:
Name Age City
0 Alice 25 Nottingham
1 Bob 30 London
2 Charlie 35 CardiffKõigi veeru väärtuste juurde pääsemiseks võite kasutada veeru nime koos indekseerimisoperaatoriga []. Sisestage veeru nimi indekseerimisoperaatori sisse Python-stringina:
# Access the Age column
print(df['Age'])pythonVäljundiks on vanuste loetelu:
0 25
1 30
2 35
Name: Age, dtype: int64Mitme veeru andmete hankimiseks kirjutage veeru nimed indekseerimisoperaatorisse ja eraldage need komadega.
Indekseerimine loc[] (rea sildid)
Kui soovite pääseda juurde konkreetsele reale oma DataFrame’is, võite kasutada pandas loc indeksijat. Indeksijale võite edastada rea sildi või rea numbri. Selles näites kasutame sama DataFrame’i kui eespool ja ekstraheerime väärtused esimesest reast (rea 0):
print(df.loc[0])pythonEespool olev kood väljastab Alice’i väärtused, mis on esitatud DataFrame’i esimeses reas:
Name Alice
Age 25
City Nottingham
Name: 0, dtype: objectIndekseerimine numbriga iloc[] (rea- ja veerunumbrid)
Teine viis DataFrame’i konkreetsete elementide juurde pääsemiseks on ridade ja veergude numbrite kaudu. See on tõenäoliselt kõige populaarsem viis elementide leidmiseks DataFrame’is. Numbrilise indeksi kasutamiseks on vaja DataFrame’i atribuuti iloc.
# Access the first row
print(df.iloc[0])
# Access the value in the first row and second column
print(df.iloc[0, 1])pythonSiin on tulemus, kui töötatakse iloc[]-ga:
Name Alice
Age 25
City Nottingham
Name: 0, dtype: object
25Individuaalsete väärtuste juurdepääs
Kui soovite juurdepääsu ainult ühele väärtusele, on indeks at kiire ja lihtne viis selleks. Selle indeksiga saate määratleda ridu ja veerge nende siltide abil. Näiteks, kui soovite teada saada, kus Bob elab, kirjutage reale „1” ja veergu „City”:
print(df.at[1, 'City'])pythonSiin saame väljundi London.
Alternatiivina võite kasutada indeksit iat, mis töötab sarnaselt indeksiga at, kuid kasutab nime asemel täisarvupõhist veeru positsiooni. Allpool olev kood annab sama tulemuse kui eelmine näide:
print(df.iat[1, 2])pythonBooli indeksimine
Võite luua ka DataFrame’i alamhulki tingimuse alusel. Seda nimetatakse Boole’i indekseerimiseks. Tingimus peaks andma tulemuseks kas True või False ja see paigutatakse otse indekseerimisoperaatorisse. Näiteks, kui soovite valida ridu, mis sisaldavad üle 30-aastaseid inimesi, võite kasutada järgmist koodi:
# Select rows where Age is greater than 30
print(df[df['Age'] > 30])pythonAinus üle 30-aastane inimene on Charlie, mille tulemuseks on järgmine väljund:
Name Age City
2 Charlie 35 Cardiff