# 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:

```python
DataFrame.index
```

## Milline 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:

```python
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)
```

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

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

Kõigi veeru väärtuste juurde pääsemiseks võite kasutada veeru nime koos indekseerimisoperaatoriga `[]`. Sisestage veeru nimi indekseerimisoperaatori sisse Python-stringina:

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

Väljundiks on vanuste loetelu:

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

Mitme 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](https://www.ionos.com/et-ee/digitalguide/veebisaidid/veebiarendus/python-pandas-dataframe-loc/). 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):

```python
print(df.loc[0])
```

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

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

### Indekseerimine 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](https://www.ionos.com/et-ee/digitalguide/veebisaidid/veebiarendus/python-pandas-dataframe-iloc/).

```python
# Access the first row
print(df.iloc[0])
# Access the value in the first row and second column
print(df.iloc[0, 1])
```

Siin on tulemus, kui töötatakse `iloc[]`-ga:

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

### Individuaalsete 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”:

```python
print(df.at[1, 'City'])
```

Siin 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:

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

### Booli 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:

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

Ainus üle 30-aastane inimene on Charlie, mille tulemuseks on järgmine väljund:

```none
Name  Age     City
2  Charlie   35    Cardiff
```

Note Pidage meeles, et Boole’i indekseerimisel saate kasutada mis tahes Boole’i võrdlusoperaatoreid, mille tulemuseks on `True` või `False`. Lisateavet erinevate Python-operaatorite kohta leiate meie selle teema kohta kirjutatud artiklist.


This is a markdown version of: [https://www.ionos.com/et-ee/digitalguide/veebisaidid/veebiarendus/python-pandas-dataframe-indekseerimine/](https://www.ionos.com/et-ee/digitalguide/veebisaidid/veebiarendus/python-pandas-dataframe-indekseerimine/) for AI/LLM consumption.