Hogyan indexeljük a pandas DataFrames-eket?
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.indexpythonMi 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 CardiffAz 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'])pythonAz eredmény egy életkorok listája:
0 25
1 30
2 35
Name: Age, dtype: int64Tö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])pythonA 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: objectIndexelé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
25Egyedi é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'])pythonItt 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])pythonBooles 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])pythonAz egyetlen 30 év feletti személy Charlie, így a következő eredményt kapjuk:
Name Age City
2 Charlie 35 Cardiff