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:
DataFrame.indexpythonKā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:
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Šādi izskatās DataFrame:
Name Age City
0 Alice 25 Nottingham
1 Bob 30 London
2 Charlie 35 CardiffLai 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ā:
# Access the Age column
print(df['Age'])pythonRezultāts ir vecuma saraksts:
0 25
1 30
2 35
Name: Age, dtype: int64Lai 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. 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):
print(df.loc[0])pythonIepriekšējais kods izvada Alice vērtības, kas ir iekļautas DataFrame pirmā rindā:
Name Alice
Age 25
City Nottingham
Name: 0, dtype: objectIndeksēš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.
# Access the first row
print(df.iloc[0])
# Access the value in the first row and second column
print(df.iloc[0, 1])pythonŠeit ir rezultāts, strādājot ar iloc[]:
Name Alice
Age 25
City Nottingham
Name: 0, dtype: object
25Piekļ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:
print(df.at[1, 'City'])pythonŠ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:
print(df.iat[1, 2])pythonBū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:
# Select rows where Age is greater than 30
print(df[df['Age'] > 30])pythonVienīgais cilvēks, kurš ir vecāks par 30 gadiem, ir Čārlijs, kā rezultātā tiek iegūts šāds izvades rezultāts:
Name Age City
2 Charlie 35 Cardiff