# Kako indeksirati pandas DataFrames

Indeksiranje Python pandas DataFrames omogoča učinkovit in neposreden dostop do podatkov. Olajša izbiro posameznih vrstic in stolpcev, kar poenostavi naloge analize podatkov.

## Kaj je indeksiranje v pandah?

Indeksiranje v pandas se nanaša na različne metode, ki jih lahko uporabite za izbiro vrstic ali stolpcev. Z uporabo oznak vrstic in stolpcev ali njihovega številčnega položaja znotraj DataFrame lahko **enostavno izberete elemente v DataFrame**. Indeks služi kot **nekakšen sistem naslovov za vaše podatke**, ki vam pomaga učinkoviteje najti in upravljati vaše podatke.

## Kaj je pandas `DataFrame.index`?

Indeksne oznake DataFrame v pandas lahko pregledate z uporabo atributa `index`. Sintaksa je naslednja:

```python
DataFrame.index
```

## Kakšna je sintaksa za indeksiranje DataFrames v pandas?

Obstaja več načinov indeksiranja pandas DataFrames, sintaksa pa se razlikuje glede na operacijo, ki jo želite izvesti.

### Indeksiranje z oznakami (oznake stolpcev)

Za indeksiranje podatkovnih okvirov pandas lahko uporabite imena stolpcev. Tukaj je primer, kako ustvariti vzorčni podatkovni okvir:

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

Tako izgleda DataFrame:

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

Za dostop do vseh vrednosti v stolpcu lahko uporabite ime stolpca skupaj z indeksnim operatorjem `[]`. V indeksni operator vnesite ime stolpca kot niz Python:

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

Rezultat je seznam starosti:

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

Če želite pridobiti podatke iz več stolpcev, v indeksni operator vpišite imena stolpcev in jih ločite z vejicami.

### Indeksiranje s `loc[]` (oznake vrstic)

Če potrebujete dostop do določene vrstice v DataFrame, lahko uporabite [indeksator pandas loc](https://www.ionos.com/sl-si/digitalguide/spletne-strani/razvoj-spletnih-strani/python-pandas-dataframe-loc/). Indeksatorju lahko posredujete oznako vrstice ali številko vrstice. V tem primeru bomo uporabili isti DataFrame kot zgoraj in izvlekli **vrednosti iz prve vrstice** (vrstica 0):

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

Zgornja koda izpiše vrednosti za Alice, ki so vsebovane v prvi vrstici DataFrame:

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

### Indeksiranje s `iloc[]` (številke vrstic in stolpcev)

Drugi način dostopa do posameznih elementov v DataFrame je prek številk vrstic in stolpcev. To je verjetno najbolj priljubljen način iskanja elementov v DataFrame. Za uporabo številčnega indeksa potrebujete [atribut DataFrame iloc](https://www.ionos.com/sl-si/digitalguide/spletne-strani/razvoj-spletnih-strani/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])
```

Tukaj je rezultat pri delu z `iloc[]`:

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

### Dostop do posameznih vrednosti

Če želite dostopati le do ene vrednosti, je indeksator `at` hiter in preprost način za to. S tem indeksatorjem lahko vrstice in stolpce opredelite **z njihovimi oznakami**. Če na primer želite izvedeti, kje živi Bob, vnesite »1« za vrstico in »Mesto« za stolpec:

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

Tukaj dobimo izhod London.

Alternativno lahko uporabite **indeksator** `iat`, ki deluje podobno kot `at`, vendar **namesto imena** uporablja celoštevilčno **pozicijo stolpca**. Spodnja koda daje enak rezultat kot prejšnji primer:

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

### Boolovo indeksiranje

Na podlagi pogoja lahko ustvarite tudi podskupine DataFrame. To se imenuje **booleanska indeksacija**. Pogoj mora biti izračunan kot `True` ali `False` in se vstavi neposredno v indeksacijski operator. Če na primer želite izbrati vrstice, ki vsebujejo osebe, starejše od 30 let, lahko uporabite naslednjo kodo:

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

Edina oseba, ki je starejša od 30 let, je Charlie, kar daje naslednji izpis:

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

Note Ne pozabite, da lahko pri izvajanju booleanskega indeksiranja uporabite kateri koli booleanski primerjalni operator, ki daje rezultat `True` ali `False`. Več o različnih operatorjih v Pythonu si preberite v našem posebnem članku na to temo.


This is a markdown version of: [https://www.ionos.com/sl-si/digitalguide/spletne-strani/razvoj-spletnih-strani/python-pandas-indeksiranje-dataframe/](https://www.ionos.com/sl-si/digitalguide/spletne-strani/razvoj-spletnih-strani/python-pandas-indeksiranje-dataframe/) for AI/LLM consumption.