Pandas Endre indeks

Pandas Endre indeks
I denne artikkelen vil vi prøve å lære deg hvordan du angir Pandas DataFrames indeks ved å bruke enten en liste over etiketter eller de allerede eksisterende kolonnene. Vi dekker alle situasjoner der de nye radetikettene er tildelt eller de eksisterende må endres. Den tabellstrukturen i Pandas -pakken kalles en DataFrame. Hver rad og kolonne er representert med etiketten. En indeks er en radetikett, mens en kolonne etikett er en kolonneindeks eller topptekst. Python Pandas som standard definerer et utvalg av tall (som begynner 0) som en indeks for rader når du genererer en DataFrame. Hver rad er unikt identifisert ved hjelp av en radindeks. Vi vil bruke SET_INDEX () -funksjonen for å endre indeksene til rader i DataFrame som vi vil lage eller som er opprettet som standard.

Hvordan endre indeksen i Pandas kolonner

Vi kan lage en av kolonnene i DataFrame til indeksen ved hjelp av Pandas set_index -metoden. For å forstå hvordan metoden set_index () fungerer, la oss se på syntaks.

Syntaks for DataFrame.set_index

Dataramme.set_index (nøkler, slipp = true, vedlegg = falsk, inplace = falsk, verify_integrity = falsk)

Parameter

  • nøkler: Navn på en kolonne eller et sett med kolonnenavn.
  • miste: Hvis sant, slipper den boolske verdien indekskolonnen.
  • vedlegg: Hvis det er sant, legger den til kolonnen til den allerede eksisterende indekskolonnen.
  • på plass: Hvis det er sant, bruker det endringene på dataaframe.
  • Verify_Integrity: Hvis det er sant, sjekk om det er noen duplikater i den nye indekskolonnen.

Som vi har sett i syntaksen, vil vi nå se hvordan du bruker SET_INDEX () -funksjonen til å angi eller endre indeksene til en DataFrame i følgende eksempler.

Eksempel 1: Angi indeksen for DataFrame ved hjelp av set_index () -funksjonen

En prøve DataFrame med noen rader og kolonner opprettes først. Bare en enkel DataFrame som inneholder en "dummy" studentpost er opprettet her. Navnet, alder, emne og gebyr er de fire kolonnene eller variablene i DataFrame “DF.”

Vi importerte først Pandas -modulen for å bruke funksjonene og funksjonene levert av biblioteket. Deretter sendes en ordbok i parametere av PD.DataFrame () fungerer som et argument for å lage en "DF" DataFrame.

Observer at det på venstre side av den viste DataFrame er et tall i begynnelsen av hver rad (tallene fra 0 til 6). Disse tallene er kjent som indekser. Nå bruker vi Pandas set_index () -metoden for å angi indeksen for "DF" DataFrame. For å oppnå dette, må vi skrive navnet på DataFrame, etterfulgt av en "prikk" og deretter metodenavnet som er "Set Index ()". Vi bruker kolonnenavnet mellom parentesene til SET_INDEX () -funksjonen.

Kolonnen "avgift" har tatt plassen til forrige heltallindeks (0 til 6). Vi passerte "gebyr" -kolonnen i Set_index () -funksjonen som et argument for å sette den som radindeksen for vår dataaFrame.

Eksempel 2: Angi indeksen for DataFrame ved hjelp av en liste

Vi kan også gi DataFrame en liste over etiketter som kan være enten strenger eller tall. Vi bruker SET_INDEX () -funksjonen for å opprette en ny indeks i DataFrame ved å bruke listeobjektet. La oss opprette vår dataaframe med en dummy -data etter å ha importert Pandas -modulene.

Dataframe er opprettet med tre kolonner - “Navn”, “Alder” og “Country” - lagring av dummy -data. Nå, ved hjelp av en liste over etiketter, opprettes det en Python -indeks som vi deretter vil gi til DataFrame.angi indeks () -funksjon som en inngang.

Vi passerte en liste som inneholder etikettene til radindekser ['R1', 'R2', 'R3', 'R4', 'R5', 'R6'] til PD.indeks () funksjon og tildelt den til "indeks" -variabelen. Variabelen blir deretter bestått som et argument inne i parentesene til SET_INDEX () -funksjonen for å angi DataFrames indekser.

Som det fremgår av den gitte DataFrame, erstattet vår spesifiserte liste standardindeksen til DataFrame med etiketter (“R1”, “R2”, “R3”, “R4”, “R5”, “R6”).

Eksempel 3: Angi indeksen for DataFrame ved å bruke flere kolonner

Dataframes i Python Pandas som har mer enn en rad eller kolonne som en indeks er kjent som multi-indeks dataframmer. Bruke DataFrame.set_index () -funksjon, vi kan angi flere kolonner som radetiketter. Det skal forstås at innstilling mer enn én indeks gjør Dataframe komplisert. Indeksen kan struktureres på flere måter. Vi vil vise deg hvordan du angir flere kolonner som en indeks på en enkel måte. La oss først lage vår dataaframe.

Dataframe har fire kolonner - “id”, “Navn”, “kurs” og “kode”.

Fra disse kolonnene bestemmer vi hvilke kolonner som er passende å bruke som indekser for DataFrame. Etter å ha bestemt deg for passende kolonner, passerer vi en liste med to etiketter inne i SET_INDEX () -funksjonen.

Kolonnene “ID” og “Code” er satt som radindekser i DataFrame. Ved å bruke kolonnenavnene på listen og sende dem til SET_INDEX (), tildelte vi disse kolonnene som indeksene. Listen ["ID", "Code"] blir bestått som argumentet for SET_INDEX (). Både navnet og regionkolonnene er de nye indeksene, som sett i utgangen.

Eksempel 4: Angi indeksen for DataFrame ved hjelp av Python -serien

En multi-indeks dataaframe kan opprettes ved å tilordne nye serier ved hjelp av “DataFrame.set_index () ”-funksjon når vi trenger å endre den eksisterende heltallindeksen med noen Pandas -serier i stedet for DataFrames kolonner. Vi oppretter en DataFrame først ved å passere en ordbok inne i PD.DataFrame () -funksjonen for å demonstrere hvordan en serie kan sendes som DataFrames første og andre nivå indekser.

Nå lager vi en serie ved å passere en liste over heltall inne i parentesene til PD.Serie () funksjon. Vi tildeler denne serien til "n" variabel.

Som sett i den gitte DataFrame, er serien “N” og “N ** 2” satt som den første og andre nivåindeksene.

Eksempel 5: Angi indeksen for DataFrame ved hjelp av Python Range

La oss si at vi må spesifisere en serie heltall som DataFrames indeks, slik at den kan begynne på et hvilket som helst tall. For eksempel ønsker vi å starte ID -nummeret for den ansatte DataFrame på 1. Det er ikke mulig å bruke DataFrame.set_index () funksjon med en liste over alle tallene som inngang. Python Range () -metoden kan brukes i denne situasjonen. Ved å bruke rekkevidden () kan vi opprette en Pandas -indeks som vi deretter kan gi til DataFrame.Sett indeks () -funksjon. La oss opprette en DataFrame slik at vi kan erstatte ROW_INDEX ved å bruke rekkevidden () -funksjonen.

Vi opprettet DataFrame med kolonnene “Navn”, “Rank”, “Bonus” og “Lønn”. La oss nå angi indeksen ved å bruke Range () -funksjonen i stedet for standard heltallindeksen. Range () -metoden returnerer en serie med tall som starter 0 som standard, øker med 1 (som standard) og slutter før et spesifisert nummer.

Vi spesifiserte indeksområdet for å starte på 1, øke med 1 og avslutte før 6. Etter å ha spesifisert indeksområdet, passerte vi "indeks" -variabelen i SET_INDEX () -funksjonen som en inngang for å angi radindeksen til vår DataFrame.

Konklusjon

I denne opplæringen diskuterte vi indeksene til en dataaframe og hvordan du setter de nye indeksene i en eksisterende DataFrame. Vi har sett at Python -konstruktøren oppretter en heltallindeks for hver rad som standard, men den kan endres ved å bruke SET_INDEX () -funksjonen. Vi har sett syntaks for SET_INDEX () -funksjonen i denne opplæringen og implementert de flere eksemplene for å lære deg hvordan du angir radindeksen til DataFrame ved hjelp av lister, serier og kolonner i Pandas.