Indexovanie dátových rámcov Python pandas umožňuje efektívny a priamy prístup k dátam. Uľahčuje výber konkrétnych riadkov a stĺpcov, čím zjednodušuje úlohy analýzy dát.

Čo je indexovanie v pandas?

Indexovanie v pandas sa týka rôznych metód, ktoré môžete použiť na výber riadkov alebo stĺpcov. Pomocou označení riadkov a stĺpcov alebo ich číselnej pozície v rámci DataFrame môžete ľahko vybrať prvky v DataFrame. Index slúži ako druh adresného systému pre vaše dáta, ktorý vám pomáha efektívnejšie vyhľadávať a spravovať vaše dáta.

Čo je pandas DataFrame.index?

Indexové štítky DataFrame v pandas môžete zobraziť pomocou atribútu index. Syntax vyzerá takto:

DataFrame.index
python

Aká je syntax pre indexovanie DataFrames v pandas?

Existuje niekoľko spôsobov indexovania pandas DataFrames a syntax sa líši v závislosti od operácie, ktorú chcete vykonať.

Indexovanie pomocou štítkov (štítky stĺpcov)

Na indexovanie pandas DataFrames môžete použiť názvy stĺpcov. Tu je príklad, ako vytvoriť vzorový 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

Takto vyzerá DataFrame:

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

Pre prístup ku všetkým hodnotám v stĺpci môžete použiť názov stĺpca spolu s indexovacím operátorom []. Stačí zadať názov stĺpca ako reťazec Python v indexovacom operátore:

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

Výstupom je zoznam vekov:

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

Ak chcete získať údaje z viac ako jedného stĺpca, napíšte názvy stĺpcov do indexovacieho operátora a oddeľte ich čiarkami.

Indexovanie s loc[] (označenia riadkov)

Ak potrebujete pristupovať k určitému riadku vo vašom DataFrame, môžete použiť indexer pandas loc. Indexeru môžete odovzdať označenie riadku alebo číslo riadku. V tomto príklade použijeme rovnaký DataFrame ako vyššie a extrahujeme hodnoty z prvého riadku (riadok 0):

print(df.loc[0])
python

Vyššie uvedený kód vypíše hodnoty pre Alice, ktoré sú obsiahnuté v prvom riadku DataFrame:

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

Indexovanie s iloc[] (čísla riadkov a stĺpcov)

Ďalším spôsobom, ako získať prístup ku konkrétnym prvkom vo vašom DataFrame, je prostredníctvom čísel riadkov a stĺpcov. Ide pravdepodobne o najpopulárnejší spôsob vyhľadávania prvkov v DataFrame. Na použitie numerického indexu potrebujete atribút DataFrame 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

Tu je výsledok pri práci s iloc[]:

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

Prístup k jednotlivým hodnotám

Ak chcete získať prístup len k jednej hodnote, indexér at je rýchly a jednoduchý spôsob, ako to urobiť. Pomocou tohto indexéra môžete definovať riadky a stĺpce pomocou ich označení. Ak napríklad chcete zistiť, kde býva Bob, zadajte „1“ pre riadok a „Mesto“ pre stĺpec:

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

Tu dostaneme výstup London.

Alternatívne môžete použiť indexer iat, ktorý funguje podobne ako at, ale namiesto názvu používa pozíciu stĺpca založenú na celých číslach. Nižšie uvedený kód poskytuje rovnaký výsledok ako predchádzajúci príklad:

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

Boolovské indexovanie

Môžete tiež vytvoriť podmnožiny DataFrame na základe podmienky. Toto sa nazýva booleovské indexovanie. Podmienka by mala mať hodnotu True alebo False a je umiestnená priamo v indexovacom operátore. Ak napríklad chcete vybrať riadky, ktoré obsahujú osoby staršie ako 30 rokov, môžete použiť nasledujúci kód:

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

Jedinou osobou, ktorá má viac ako 30 rokov, je Charlie, čo vedie k nasledujúcemu výstupu:

Name  Age     City
2  Charlie   35    Cardiff
Prejsť na hlavné menu