Pandas får indeksverdier

Pandas får indeksverdier

Radenes indekser er kjent som dataframindekser, mens kolonnens indekser er kjent som generelle kolonnenavn. Indekser brukes stort sett til å hente dataene eller lagre dataene i DataFrame. Imidlertid kan vi også hente indeksen ved å bruke .indeksegenskap. I denne opplæringen vil vi lære deg hvordan du får en indeks som et listeobjekt, hvordan du kan konvertere indeksen til en DataFrame -kolonne for å hente den, og hvordan du kan få indeksen ved å bruke flere betingelser og indeksegenskapen til Pandas.

Hvordan få indeksverdier i pandaer?

Dataframe.Indeksegenskaper kan brukes til å få en Pandas DataFrames indeks. Et indekslisteobjekt som inneholder DataFrames indeks, returneres ved å bruke DataFrame.indeksegenskap.

Syntaks:

Pandas.Indeks (data = ingen, dtype = ingen, kopi = falsk, navn = ingen, tupleize_cols = true, ** kwargs)

Hvor:

data: Array-lignende (unidimensjonal)

dtype: Numpy dtype. Det er 'objekt' som standard. Vi velger dtype som er egnet for dataene hvis dtype er "ingen". Hvis en dtype er spesifisert og trygg, vil dtype bli tvunget. Hvis ikke, vises en advarsel.

kopiere: bool. En kopi av den gitte ndarray vil bli laget.

Navn: objekt. Navnet som blir lagret i indeksen.

tupleize_cols: bool. Som standard er det sant. Hvis det er sant, vil den prøve å lage en multiindex.

Metodene for å få indeksen til DataFrame er demonstrert i eksemplene nedenfor.

Eksempel # 01: Pakk ut DataFrame Row -indeksen ved hjelp av NDEX -egenskapen

La oss lage en dataaframe, først, med flere rader, slik at vi kan demonstrere hvordan vi kan få radindeksen ved å bruke Pandas Index -egenskapen. Før vi oppretter DataFrame, vil vi importere Pandas -modulen for å bruke funksjonene.

Importer pandaer som PD
Student_info = [('Tyson', 23),
('Jack', 25),
('Bruce', 25),
('Peter', 24),
('Nick', 21),
('Haris', 26),
('Randy', 25)
]
df = pd.DataFrame (Student_info, Columns = ['Name', 'Age'])

Ved å bruke en liste inne i PD.DataFrame () -funksjonen, vi har laget vår DataFrame. Det er to kolonner i DataFrame: Navn og alder. Kolonnen 'Navn' lagrer navnene på noen tilfeldige personer ('Tyson', 'Jack', 'Bruce', 'Peter', 'Nick', 'Haris', 'Randy'). Mens kolonnen 'alder' består av hver personsalder (23, 25, 25, 24, 21, 26, 25). Ved starten av hver rad er det en indeksverdi for hver rad opprettet av Pandas Constructor som standard. Nå vil vi bruke indeksegenskapen til å trekke ut denne indekskolonnen.

df.indeks

Utgangen viser at radene starter fra 0, øker med 1, og slutter på indeksen før 7.

For å skrive ut hver indeksverdi, kan vi bruke en iterator og inni den eller funksjonsutskriften ().

i = df.indeks
for x i i:
trykk (x)

Nå har vi skrevet ut alle verdiene fra indeks 0 til 7.

Eksempel # 02: Pakk ut DataFrame Row -indeksen ved hjelp av en tilstand

Indeksverdiene kan hentes ved å spesifisere en tilstand. Indeksegenskapen vil hente indeksverdiene til DataFrame som tilfredsstiller den spesifiserte tilstanden. Deretter vil vi bruke Tolist () -funksjonen for å returnere de hentede verdiene som en liste. Ved hjelp av PD.DataFrame () -funksjonen, la oss først lage vår DataFrame.

Importer pandaer som PD
df = pd.Dataramme(
'Vare': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
'Pris': [100, 200,150, 100, 200, 320, 100, 100],
'kode': ['q', 'w', 'e', ​​'r', 't', 'y', 'u', 'i']
)

Ved å bruke en Python -ordbok inne i PD.DataFrame () -funksjonen, vi har laget en DataFrame. Dataframe består av tre kolonner og 8 rader fra 0 til 7. Kolonnen 'elementer' lagrer dataverdiene som streng ('a', 'b', 'c', 'd', 'e', ​​'f', 'g', 'h'). Kolonnen 'pris' inneholder de numeriske verdiene som representerer stykket til hvert element (100, 200, 150, 100, 200, 320, 100, 100). Kolonnekoden som har dataverdiene ('q', 'w', 'e', ​​'r', 't', 'y', 'u', "). La oss nå hente indeksverdiene ved å bruke skriptet nedenfor.

i = df.indeks
indeks = df ["pris"] == 100
resultat = i [indeks]
resultat.ramse opp()

Ved hjelp av indeksegenskapen har vi hentet 'DF' DataFrames indekser. Deretter har vi spesifisert en betingelse for å trekke ut data der verdiene i priskolonnen er lik 100. Etter å ha innhentet dataene, hentet vi indeksverdiene til rader som tilfredsstiller den spesifiserte tilstanden. Til slutt brukes Tolist () -funksjonen til å transformere utgangen til et listeobjekt. Funksjonen har hentet en liste med fire indeksverdier, [0, 3, 6, 7].

Eksempel # 03: Pakk ut DataFrame -kolonneindeksen ved hjelp av get_loc () -funksjonen

Vi har sett hvordan vi skal hente verdiene til en dataframes radindekser. Vi kan imidlertid også hente verdiene til en dataframes kolonneindekser. For å få indeksverdien til en hvilken som helst DataFrames kolonne, kan Get LOC () -funksjonen brukes. For å finne indeksen, leverer vi bare kolonnetiketten til get_loc () -funksjonen. La oss opprette en DataFrame som består av mer enn en kolonne, slik at vi kan hente indeksens plassering eller indeksverdi.

Importer pandaer som PD
df = pd.Dataramme(
'Klasse': ['A', 'A', 'B', 'B', 'C', 'C', 'D', 'D'],
'medlemmer': [5, 4, 5, 5, 4, 6, 4, 4],
'Lønn': [30000, 28000, 32000, 31000, 30000, 26000, 27000, 28000],
'Utgift': [12000, 11000, 11500, 13000, 10000, 12500, 10500, 13000]
)

I vår DataFrame har vi laget fire kolonner: klasse, medlemmer, lønn og utgifter. Klassekolonnen lagrer dataverdiene ('A', 'A', 'B', 'B', 'C', 'C', 'D', 'D'). Kolonnemedlemmene inneholder verdier (5, 4, 5, 5, 4, 6, 4, 4), mens kolonnelønnen og utgiftene inneholder de numeriske dataverdiene (30000, 28000, 32000, 31000, 30000, 26000, 27000, 28000 ) og (12000, 11000, 11500, 13000, 10000, 12500, 10500, 13000),. Anta at vi må finne indeksverdien på kolonnelønn:

df.kolonner.get_loc ("lønn")

Funksjonen har hentet indeksen for den spesifiserte kolonnen, 2.

Eksempel # 04: Trekk ut de spesifiserte radindeksverdiene ved hjelp av get_loc () -funksjonen

Vi kan også hente indeksens plassering av radindekser ved hjelp av get_loc () -funksjonen hvis etikettene for radindekser er spesifisert. Vi kan spesifisere etikettene til vår radindeks ved å bruke en liste som inneholder navn for hver verdi av radindeksen. La oss legge indeksetikettene til DataFrame som vi har laget i eksempel nr. 3.

Importer pandaer som PD
df = pd.Dataramme(
'Klasse': ['A', 'A', 'B', 'B', 'C', 'E', 'D', 'D'],
'medlemmer': [5, 4, 5, 5, 4, 6, 4, 4],
'Lønn': [30000, 28000, 32000, 31000, 30000, 26008, 27000, 28000],
'Utgift': [12000, 11000, 11500, 13000, 10000, 12500, 10500, 13000],
indeks = ['R1', 'R2', 'R3', 'R4', 'R5', 'R6', 'R7', 'R'])

Inne i PD.Dataramme() Funksjon, vi har spesifisert indeksparameteren som en liste som inneholder etiketter fra R1 til R8. Etikettene 'R1', 'R2', 'R3', 'R4', 'R5', 'R6', 'R7' og 'R8' har erstattet som standard heltallindeks for DataFrame. La oss nå hente plasseringen av indeksen for en bestemt etikett.

trykk (df.indeks.get_loc ("R5"))

Først brukes indeksegenskapen på DataFrame for å få indeksene. Deretter, get_loc () Funksjon brukes for å trekke ut indeksposisjonen til den spesifiserte indeksetiketten til raden.

Eksempel nr. 05: Trekk ut radindeksverdiene ved å bruke Numpy Where () -funksjonen:

Vi kan også få indeksverdiene ved å spesifisere en tilstand i hvor() funksjon av numpy. La oss opprette en dataaframe først, vi vil importere pandaene så vel som det numpy biblioteket for å bruke sine funksjoner.

Importer pandaer som PD
Importer numpy som NP
df = pd.Dataramme(
'Id': ['001', '002', '003', '004', '005', '006', '007', '008'],
'Pris': [100, 150, 130, 200, 120, 170, 120, 140],
'rabatt': [30, 40, 10, 20, 60, 10, 30, 60])

Etter å ha importert de nødvendige bibliotekene, har vi opprettet DataFrame. I vår DataFrame har vi tre kolonner (ID, pris og rabatt). Kolonnene ID, pris og rabatt lagrer dataverdiene ('001', '002', '003', '004', '005', '006', '007', '008'), (100, 150 , 130, 200, 120, 170, 120, 140) og (30, 40, 10, 20, 60, 10, 30, 60), henholdsvis. La oss nå finne radindeksverdien ved å bruke hvor() funksjon inne i listen () -funksjonen.

Liste (np.hvor (df ["rabatt"]> 30))
[Array ([1, 4, 7], dtype = int64)]

Vi har spesifisert en tilstand i hvor () -funksjonen for å få radene der verdien i kolonnen 'rabatt' er større enn 30. For å lage en liste ut av de returnerte verdiene, har vi brukt listen () -metoden.

Konklusjon

Denne artikkelen dekket hvordan du kan hente dataFrame -indeksverdier i pandaer. Vi brukte forskjellige funksjoner for å hente rad- og kolonneindeksen til DataFrame. Vi implementerte flere eksempler for å lære deg hvordan du kan trekke ut DataFrame Row -indeksen ved hjelp av indeksegenskapen, ved å bruke betingelser og bruke get_loc () -funksjonen. Vi har også diskutert hvordan du får kolonneindeksverdier ved hjelp av get_loc () -funksjonen.