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:
DataFrame.indexpythonKakš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:
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)pythonTako izgleda DataFrame:
Name Age City
0 Alice 25 Nottingham
1 Bob 30 London
2 Charlie 35 CardiffZa dostop do vseh vrednosti v stolpcu lahko uporabite ime stolpca skupaj z indeksnim operatorjem []. V indeksni operator vnesite ime stolpca kot niz Python:
# Access the Age column
print(df['Age'])pythonRezultat je seznam starosti:
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. 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):
print(df.loc[0])pythonZgornja koda izpiše vrednosti za Alice, ki so vsebovane v prvi vrstici DataFrame:
Name Alice
Age 25
City Nottingham
Name: 0, dtype: objectIndeksiranje 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.
# Access the first row
print(df.iloc[0])
# Access the value in the first row and second column
print(df.iloc[0, 1])pythonTukaj je rezultat pri delu z iloc[]:
Name Alice
Age 25
City Nottingham
Name: 0, dtype: object
25Dostop 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:
print(df.at[1, 'City'])pythonTukaj 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:
print(df.iat[1, 2])pythonBoolovo 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:
# Select rows where Age is greater than 30
print(df[df['Age'] > 30])pythonEdina oseba, ki je starejša od 30 let, je Charlie, kar daje naslednji izpis:
Name Age City
2 Charlie 35 Cardiff