Python pandas Da­taF­ra­mes’i in­deksee­ri­mine võimaldab andmetele tõhusat ja otsest juur­de­pääsu. See liht­sus­tab konk­reet­sete ridade ja veergude valimist, muutes andmete analüüsi ülesanded liht­sa­maks.

Mis on in­deksi­mine pandas?

In­deksee­ri­mine pandas viitab eri­ne­va­tele mee­to­di­tele, mida saab kasutada ridade või veergude va­li­miseks. Ridade ja veergude siltide või nende numb­ri­lise po­sit­siooni abil DataFrame’is saate hõlpsasti valida elemente DataFrame’is. Indeks toimib teie andmete aad­res­si­süs­tee­mina, aidates teil andmeid tõ­hu­sa­malt leida ja hallata.

Mis on pandas DataFrame.index?

Saate vaadata DataFrame’i in­deksieti­kette pandas’es, kasutades atribuuti index. Süntaks on järgmine:

DataFrame.index
python

Milline on pandas’is DataFrame’ide in­deksee­ri­mise süntaks?

Pandas Da­taF­ra­mes’i in­deksee­ri­miseks on mitu viisi ja süntaks varieerub sõltuvalt soovitud toi­min­gust.

In­deksee­ri­mine siltidega (vee­ru­silti­dega)

Saate kasutada veeru nimesid pandas Da­taF­ra­mes’i in­deksee­ri­miseks. 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)
python

Siin on näha, kuidas DataFrame välja näeb:

Name  Age       City
0    Alice   25     Nottingham
1    Bob   30  	London
2  Charlie   35    Cardiff

Kõigi veeru väärtuste juurde pää­se­miseks võite kasutada veeru nime koos in­deksee­ri­misope­raa­toriga []. Sisestage veeru nimi in­deksee­ri­misope­raa­tori sisse Python-stringina:

# Access the Age column
print(df['Age'])
python

Väl­jun­diks on vanuste loetelu:

0    25
1    30
2    35
Name: Age, dtype: int64

Mitme veeru andmete han­ki­miseks kirjutage veeru nimed in­deksee­ri­misope­raa­to­risse ja eraldage need komadega.

In­deksee­ri­mine loc[] (rea sildid)

Kui soovite pääseda juurde konk­reet­sele reale oma DataFrame’is, võite kasutada pandas loc in­deksi­jat. In­deksi­jale võite edastada rea sildi või rea numbri. Selles näites kasutame sama DataFrame’i kui eespool ja ekst­ra­hee­rime väärtused esimesest reast (rea 0):

print(df.loc[0])
python

Eespool olev kood väljastab Alice’i väärtused, mis on esitatud DataFrame’i esimeses reas:

Name        Alice
Age            25
City      Nottingham
Name: 0, dtype: object

In­deksee­ri­mine numbriga iloc[] (rea- ja vee­ru­numb­rid)

Teine viis DataFrame’i konk­reet­sete ele­men­tide juurde pää­se­miseks on ridade ja veergude numbrite kaudu. See on tõe­näo­li­selt kõige po­pu­laar­sem viis ele­men­tide leid­miseks DataFrame’is. Numb­ri­lise indeksi ka­su­ta­miseks 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])
python

Siin on tulemus, kui töö­ta­takse iloc[]-ga:

Name        Alice
Age            25
City      Nottingham
Name: 0, dtype: object
25

In­di­vi­duaal­sete väärtuste juur­de­pääs

Kui soovite juur­de­pääsu ainult ühele väär­tu­sele, on indeks at kiire ja lihtne viis selleks. Selle indeksiga saate mää­rat­leda 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'])
python

Siin saame väljundi London.

Al­ter­na­tiivina võite kasutada indeksit iat, mis töötab sarnaselt indeksiga at, kuid kasutab nime asemel täis­ar­vu­põ­hist veeru po­sit­siooni. Allpool olev kood annab sama tulemuse kui eelmine näide:

print(df.iat[1, 2])
python

Booli in­deksi­mine

Võite luua ka DataFrame’i alamhulki tingimuse alusel. Seda ni­me­ta­takse Boole’i in­deksee­ri­miseks. Tingimus peaks andma tu­le­mu­seks kas True või False ja see pai­gu­ta­takse otse in­deksee­ri­misope­raa­to­risse. Näiteks, kui soovite valida ridu, mis si­sal­da­vad üle 30-aastaseid inimesi, võite kasutada järgmist koodi:

# Select rows where Age is greater than 30
print(df[df['Age'] > 30])
python

Ainus üle 30-aastane inimene on Charlie, mille tu­le­mu­seks on järgmine väljund:

Name  Age     City
2  Charlie   35    Cardiff
Go to Main Menu