# Kā indeksēt pandas DataFrames

Python pandas DataFrames indeksēšana nodrošina efektīvu un tiešu piekļuvi datiem. Tas atvieglo konkrētu rindu un kolonnu atlasi, vienkāršojot datu analīzes uzdevumus.

## Kas ir indeksēšana pandās?

Indeksēšana pandas attiecas uz dažādām metodēm, ko var izmantot, lai atlasītu rindas vai kolonnas. Izmantojot rindu un kolonnu marķējumus vai to numerisko pozīciju DataFrame, var **viegli atlasīt elementus DataFrame**. Indekss darbojas kā **sava veida adrešu sistēma jūsu datiem**, palīdzot efektīvāk atrast un pārvaldīt datus.

## Kas ir pandas `DataFrame.index`?

Jūs varat apskatīt DataFrame indeksa etiķetes pandas, izmantojot `index` atribūtu. Sintakse izskatās šādi:

```python
DataFrame.index
```

## Kāda ir sintakse DataFrames indeksēšanai pandas?

Ir vairāki veidi, kā indeksēt pandas DataFrames, un sintakse atšķiras atkarībā no darbības, ko vēlaties veikt.

### Indeksēšana ar etiķetēm (kolonnu etiķetēm)

Jūs varat izmantot kolonnu nosaukumus, lai indeksētu pandas DataFrames. Šeit ir piemērs, kā izveidot parauga 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)
```

Šādi izskatās DataFrame:

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

Lai piekļūtu visām vērtībām kolonnā, varat izmantot kolonnas nosaukumu kopā ar indeksēšanas operatoru `[]`. Vienkārši ievadiet kolonnas nosaukumu kā Python virkni indeksēšanas operatorā:

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

Rezultāts ir vecuma saraksts:

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

Lai iegūtu vairāku kolonnu datus, indeksēšanas operatorā ierakstiet kolonnu nosaukumus un atdaliet tos ar komatiem.

### Indeksēšana ar `loc[]` (rindu etiķetēm)

Ja jums ir nepieciešams piekļūt konkrētai rindai jūsu DataFrame, jūs varat izmantot [pandas loc indeksētāju](https://www.ionos.com/lv-lv/digitalguide/timekla-vietnes/timekla-izstrade/python-pandas-dataframe-loc/). Jūs varat nodot rindas etiķeti vai rindas numuru indeksētājam. Šajā piemērā mēs izmantosim to pašu DataFrame kā iepriekš un izvilksim **vērtības no pirmās rindas** (rinda 0):

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

Iepriekšējais kods izvada Alice vērtības, kas ir iekļautas DataFrame pirmā rindā:

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

### Indeksēšana ar `iloc[]` (rindu un kolonnu numuriem)

Vēl viens veids, kā piekļūt konkrētiem elementiem DataFrame, ir izmantojot rindu un kolonnu numurus. Tas, iespējams, ir populārākais veids, kā atrast elementus DataFrame. Lai izmantotu ciparu indeksu, jums ir nepieciešams [DataFrame atribūts iloc](https://www.ionos.com/lv-lv/digitalguide/timekla-vietnes/timekla-izstrade/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])
```

Šeit ir rezultāts, strādājot ar `iloc[]`:

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

### Piekļuve atsevišķām vērtībām

Ja vēlaties piekļūt tikai vienai vērtībai, indeksators `at` ir ātrs un vienkāršs veids, kā to izdarīt. Ar šo indeksatoru varat definēt rindas un kolonnas, **izmantojot to nosaukumus**. Piemēram, ja vēlaties uzzināt, kur dzīvo Bobs, ievadiet “1” rindai un “Pilsēta” kolonnai:

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

Šeit mēs iegūstam rezultātu London.

Alternatīvi varat izmantot **indeksētāju** `iat`, kas darbojas līdzīgi kā `at`, bet izmanto veselo skaitļu **kolonnu pozīciju, nevis nosaukumu**. Zemāk redzamais kods dod tādu pašu rezultātu kā iepriekšējais piemērs:

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

### Būla indeksēšana

Jūs varat arī izveidot DataFrame apakškopas, pamatojoties uz nosacījumu. To sauc par **Boole’a indeksēšanu**. Nosacījumam jābūt `True` vai `False`, un tas tiek ievietots tieši indeksēšanas operatorā. Piemēram, ja vēlaties atlasīt rindas, kas satur personas, kuras ir vecākas par 30 gadiem, varat izmantot šādu kodu:

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

Vienīgais cilvēks, kurš ir vecāks par 30 gadiem, ir Čārlijs, kā rezultātā tiek iegūts šāds izvades rezultāts:

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

Note Atcerieties, ka, veicot Boole’a indeksēšanu, varat izmantot jebkādus Boole’a salīdzināšanas operatorus, kuru rezultāts ir `True` vai `False`. Uzziniet vairāk par dažādiem Python operatoriem mūsu speciālajā rakstā par šo tēmu.


This is a markdown version of: [https://www.ionos.com/lv-lv/digitalguide/timekla-vietnes/timekla-izstrade/python-pandas-dataframe-indeksesana/](https://www.ionos.com/lv-lv/digitalguide/timekla-vietnes/timekla-izstrade/python-pandas-dataframe-indeksesana/) for AI/LLM consumption.