A Python pandas DataFrames indexelése hatékony és közvetlen hozzáférést biztosít az adatokhoz. Ez megkönnyíti az egyes sorok és oszlopok kiválasztását, egyszerűsítve az adatelemzési feladatokat.

Mi az indexelés a pandákban?

A pandas indexelés különböző módszereket jelent, amelyekkel sorokat vagy oszlopokat lehet kiválasztani. A sorok és oszlopok címkéinek vagy a DataFrame-en belüli numerikus pozíciójuknak a segítségével könnyen kiválaszthatók az elemek a DataFrame-ben. Az index egyfajta címrendszerként szolgál az adatokhoz, segítve azok hatékonyabb megtalálását és kezelését.

Mi az a pandas DataFrame.index?

A pandas-ban a DataFrame indexcímkéit a index attribútummal tekintheti meg. A szintaxis a következő:

DataFrame.index
python

Mi a pandasban a DataFrames indexelésének szintaxisa?

A pandas DataFrames indexelésére többféle módszer létezik, és a szintaxis a végrehajtani kívánt művelettől függően változik.

Indexelés címkékkel (oszlopcímkék)

Az oszlopnevek segítségével indexelheted a pandas DataFrames-eket. Íme egy példa egy minta DataFrame létrehozására:

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

Így néz ki a DataFrame:

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

Az oszlop összes értékéhez való hozzáféréshez használhatja az oszlop nevét az indexelő operátorral együtt []. Csak írja be az oszlop nevét Python karakterláncként az indexelő operátorba:

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

Az eredmény egy életkorok listája:

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

Több oszlop adatainak lekéréséhez írja be az oszlopneveket az indexelő operátorba, és válassza el őket vesszővel.

Indexelés loc[] -tal (sorcímkék)

Ha egy adott sorhoz szeretne hozzáférni a DataFrame-ben, használhatja a pandas loc indexelőt. A sor címkéjét vagy sorszámát adhatja meg az indexelőnek. Ebben a példában a fenti DataFrame-et fogjuk használni, és kivonjuk az első sor (0. sor) értékeit:

print(df.loc[0])
python

A fenti kód kinyomtatja Alice értékeit, amelyek a DataFrame első sorában találhatók:

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

Indexelés iloc[] tel (sor- és oszlopszámok)

A DataFrame-ben található egyes elemekhez való hozzáférés másik módja a sor- és oszlopszámok használata. Ez valószínűleg a legnépszerűbb módszer az elemek megtalálásához egy DataFrame-ben. A numerikus index használatához szükség van a DataFrame iloc attribútumára.

# Access the first row
print(df.iloc[0])
# Access the value in the first row and second column
print(df.iloc[0, 1])
python

Íme az eredmény, ha iloc[]-cal dolgozunk:

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

Egyedi értékek elérés

Ha csak egy értékhez szeretne hozzáférni, a at indexelő egy gyors és egyszerű módszer erre. Ezzel az indexelővel a címkéik segítségével meghatározhatja a sorokat és oszlopokat. Például, ha meg szeretné tudni, hol lakik Bob, írja be az „1” értéket a sorhoz és a „City” értéket az oszlophoz:

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

Itt a kimenet London.

Alternatív megoldásként használhatja a iat indexelőt, amely hasonlóan működik at hez, de a név helyett az egész szám alapú oszloppozíciót használja. Az alábbi kód ugyanazt az eredményt adja, mint az előző példa:

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

Booles indexelés

Feltételek alapján DataFrame-ek alcsoportjait is létrehozhatja. Ezt boole-indexelésnek nevezik. A feltételnek True vagy False értékre kell értékelődnie, és közvetlenül az indexelő operátorba kell helyezni. Ha például a 30 év feletti személyeket tartalmazó sorokat szeretné kiválasztani, a következő kódot használhatja:

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

Az egyetlen 30 év feletti személy Charlie, így a következő eredményt kapjuk:

Name  Age     City
2  Charlie   35    Cardiff
Ugrás a főmenübe