Pandas: Gi nytt navn til kolonner og indekser i Python

Introduksjon

Pandas er et essensielt Python-bibliotek for dataanalyse og -manipulering. Det tilbyr en rekke verktøy for å håndtere og transformere datasett, inkludert muligheten til å endre navn på både kolonner og indekser. Å gi mer beskrivende navn til kolonner og indekser er viktig for å øke lesbarheten, forståelsen og den generelle organiseringen av dataene dine.

I denne artikkelen vil vi se nærmere på ulike metoder for å endre navn på kolonner og indekser i Pandas, med fokus på funksjonene rename(), rename_axis() og set_axis(). Vi vil også dekke viktig informasjon og feilhåndtering i forbindelse med omstrukturering av datasett.

Endre navn på kolonner

Det er hovedsakelig to måter å endre navn på kolonner i Pandas: ved å bruke enten rename()-funksjonen eller set_axis().

Bruke rename() for å endre kolonnenavn

rename()-funksjonen krever en ordbok som input. Her er nøklene de eksisterende kolonnenavnene, og verdiene er de nye navnene. La oss se et praktisk eksempel:


import pandas as pd

df = pd.DataFrame({
    "Navn": ["John", "Mary", "Bob"],
    "Alder": [20, 25, 30],
    "Stilling": ["Student", "Lærer", "Lege"]
})

df = df.rename(columns={
    "Navn": "Fullt Navn",
    "Alder": "Alder i År",
    "Stilling": "Profesjon"
})

print(df)

Etter at koden er utført, vil kolonnene i dataframen ha blitt omdøpt til «Fullt Navn», «Alder i År» og «Profesjon».

Bruke set_axis() for å endre kolonnenavn

set_axis() kan også benyttes for å endre navn på kolonner. Denne funksjonen aksepterer en liste eller ordbok med de nye kolonnenavnene som input:


df = df.set_axis(["Navn", "Alder", "Stilling"], axis=1)

print(df)

I dette eksemplet endres kolonnenavnene i DataFrame til «Navn», «Alder» og «Stilling».

Endre navn på indekser

For å endre navn på indekser i Pandas kan du bruke enten rename_axis() eller set_axis().

Bruke rename_axis() for å endre indeksnavn

rename_axis()-funksjonen bruker en enkelt streng eller ordbok som input, der nøklene er de gamle indeksnavnene og verdiene de nye:


df = df.rename_axis("Rad Identifikasjon", axis=0)

print(df)

Etter utførelse av koden, vil indeksnavnet i DataFrame være «Rad Identifikasjon».

Bruke set_axis() for å endre indeksnavn

Funksjonen set_axis() kan også benyttes til å endre navn på indekser. Den aksepterer en liste eller ordbok med nye indeksnavn:


df = df.set_axis(["Rad 1", "Rad 2", "Rad 3"], axis=0)

print(df)

I dette tilfellet blir indeksnavnene endret til «Rad 1», «Rad 2» og «Rad 3».

Viktige Betraktninger

Når du endrer navn på kolonner eller indekser i Pandas, er det visse ting du bør huske på:

  • Unike navn: De nye kolonne- eller indeksnavnene må være unike for å unngå feil.
  • Eksisterende navn: Det vil oppstå en feilmelding hvis du prøver å endre navn på en kolonne eller indeks som ikke eksisterer.
  • Akseverdier: Bruk 0 for indekser og 1 for kolonner i axis-parameteren.
  • Bevaring av indekser: De gjeldende indeksverdiene blir beholdt når du endrer navn på indekser.

Feilhåndtering

Feil under omdøping av kolonner og indekser kan skyldes følgende:

  • Dupliserte navn: Forsikre deg om at alle de nye navnene er unike.
  • Ikke-eksisterende navn: Kontroller at kolonnene og indeksene du forsøker å endre navnet på faktisk eksisterer.
  • Ugyldig akseverdi: Pass på at verdien for axis er riktig (0 for indekser, 1 for kolonner).

Konklusjon

Å endre navn på kolonner og indekser i Pandas er en enkel, men kraftfull operasjon som forbedrer lesbarheten og organiseringen av data. Ved å benytte funksjoner som rename(), rename_axis() og set_axis() kan du effektivt skreddersy datastrukturen etter egne behov. Husk å ta hensyn til de viktige punktene og feilhåndteringstipsene som er nevnt for å oppnå en vellykket navneendringsprosess.

Ofte Stilte Spørsmål

1. Hvordan kan jeg endre navn på flere kolonner samtidig?
Bruk en ordbok som argument til rename(), der nøklene er de gamle kolonnenavnene og verdiene er de nye navnene.

2. Hvordan endrer jeg navn på både kolonner og indekser samtidig?
Bruk set_axis() og spesifiser både en liste/ordbok for kolonnenavn og en for indeksnavn.

3. Hva skjer hvis jeg prøver å endre navnet på en kolonne som ikke finnes?
Det vil generere en feilmelding.

4. Hvordan løser jeg feilmeldingen «Duplikat indeks»?
Kontroller at de nye indeksnavnene er unike.

5. Kan jeg endre navnet på en kolonne til et annet eksisterende kolonnenavn?
Nei, alle kolonnenavn må være unike.

6. Hvordan kan jeg tilbakestille kolonne- eller indeksnavn til sine opprinnelige verdier?
Bruk reset_index() for å tilbakestille indeksen, eller DataFrame.columns for å endre tilbake kolonnenavnene.

7. Hva er forskjellen på rename() og set_axis()?
rename() bruker en ordbok som input, mens set_axis() bruker en liste eller ordbok. rename() er kun for navneendring, mens set_axis() også kan sette aksenavn.

8. Kan jeg endre en kolonne til et tall eller spesialtegn?
Nei, kolonnenavn må være strenger.