# Kuinka indeksoida pandas DataFrames

Python pandas DataFrames -indeksointi mahdollistaa tehokkaan ja suoran pääsyn dataan. Se helpottaa tiettyjen rivien ja sarakkeiden valintaa, mikä yksinkertaistaa data-analyysitehtäviä.

## Mitä indeksointi tarkoittaa pandas-ohjelmistossa?

Indeksointi pandas-kirjastossa viittaa erilaisiin menetelmiin, joita voit käyttää rivien tai sarakkeiden valitsemiseen. Rivien ja sarakkeiden nimikkeiden tai niiden numeerisen sijainnin avulla DataFrame-kehyksessä voit **helposti valita elementtejä DataFrame-kehyksestä**. Indeksi toimii **eräänlaisena osoitejärjestelmänä tiedoillesi**, mikä auttaa sinua löytämään ja hallinnoimaan tietojasi tehokkaammin.

## Mikä on pandas `DataFrame.index`?

Voit tarkastella DataFrame-kehyksen indeksimerkintöjä pandas-kirjastossa käyttämällä `index`. Syntaksi on seuraavanlainen:

```python
DataFrame.index
```

## Mikä on pandas-kirjaston DataFrame-taulukoiden indeksoinnin syntaksi?

Pandas DataFrames -kehyksiä voidaan indeksoida useilla tavoilla, ja syntaksi vaihtelee suorittamasi toiminnon mukaan.

### Indeksointi tarroilla (sarakkeiden tarrat)

Voit käyttää sarakkeiden nimiä pandas-tietokehysten indeksointiin. Tässä on esimerkki siitä, miten luodaan esimerkkitietokehys:

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

DataFrame näyttää seuraavalta:

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

Voit käyttää kaikkia sarakkeen arvoja kirjoittamalla sarakkeen nimen yhdessä indeksointioperaattorin `[]` kanssa. Kirjoita sarakkeen nimi Python-merkkijonona indeksointioperaattorin sisään:

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

Tuloksena on luettelo ikäluokista:

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

Jos haluat hakea useamman kuin yhden sarakkeen tiedot, kirjoita sarakkeiden nimet indeksointioperaattoriin ja erota ne toisistaan pilkuilla.

### Indeksointi `loc[]`:lla (rivien nimikkeet)

Jos haluat käyttää DataFrame-taulukon tiettyä riviä, voit käyttää [pandas loc -indeksointia](https://www.ionos.com/fi-fi/digitalguide/verkkosivustot/verkkosivujen-kehittaeminen/python-pandas-dataframe-loc/). Voit siirtää rivin tunnisteen tai rivin numeron indeksoijalle. Tässä esimerkissä käytämme samaa DataFrame-taulukkoa kuin edellä ja poimimme **arvot ensimmäiseltä riviltä** (rivi 0):

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

Yllä oleva koodi tulostaa Alicen arvot, jotka sisältyvät DataFrame-taulukon ensimmäiseen riviin:

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

### Indeksointi numerolla `iloc[]` (rivin ja sarakkeen numerot)

Toinen tapa käyttää DataFrame-kehyksen tiettyjä elementtejä on rivien ja sarakkeiden numeroiden avulla. Tämä on luultavasti suosituin tapa etsiä elementtejä DataFrame-kehyksestä. Numeroindeksin käyttämiseksi tarvitset [DataFrame-attribuutin iloc](https://www.ionos.com/fi-fi/digitalguide/verkkosivustot/verkkosivujen-kehittaeminen/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])
```

Tässä on tulos, kun työskentelet `iloc[]` kanssa:

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

### Yksittäisten arvojen käyttäminen

Jos haluat käyttää vain yhtä arvoa, `at` indeksoija on nopea ja helppo tapa tehdä se. Tämän indeksoijan avulla voit määritellä rivit ja sarakkeet **niiden nimien avulla**. Jos esimerkiksi haluat selvittää, missä Bob asuu, kirjoita riviin ”1” ja sarakkeeseen ”City”:

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

Tässä saamme tulokseksi London.

Vaihtoehtoisesti voit käyttää **20-indeksiä**, joka toimii samalla tavalla kuin `at`, mutta käyttää **nimen sijaan** kokonaislukupohjaista **sarakkeen sijaintia**. Alla oleva koodi tuottaa saman tuloksen kuin edellinen esimerkki:

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

### Boolen indeksointi

Voit myös luoda DataFrame-taulukon osajoukkoja ehdon perusteella. Tätä kutsutaan **boolenaiseksi indeksoinniksi**. Ehdon tuloksen tulisi olla joko `True` tai `False`, ja se sijoitetaan suoraan indeksointioperaattoriin. Jos haluat esimerkiksi valita rivit, jotka sisältävät yli 30-vuotiaita henkilöitä, voit käyttää seuraavaa koodia:

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

Ainoa yli 30-vuotias henkilö on Charlie, mikä tuottaa seuraavan tuloksen:

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

Huomio Muista, että boolen indeksointia suorittaessasi voit käyttää mitä tahansa boolen vertailuoperaattoreita, joiden tulos on `True` tai `False`. Lisätietoja erilaisista Python-operaattoreista löydät aiheesta kirjoittamastamme artikkelista.


This is a markdown version of: [https://www.ionos.com/fi-fi/digitalguide/verkkosivustot/verkkosivujen-kehittaeminen/python-pandas-dataframe-indeksointi/](https://www.ionos.com/fi-fi/digitalguide/verkkosivustot/verkkosivujen-kehittaeminen/python-pandas-dataframe-indeksointi/) for AI/LLM consumption.