Pandas Drop Index Column: Forklart med eksempler

Pandas er et mye brukt Python-bibliotek for datamanipulering og -analyse. En viktig funksjonalitet som pandaer kan gi deg er muligheten til å endre strukturen til et datasett. Spesielt er det å slippe indekser i en DataFrame en avgjørende operasjon når du arbeider med datasett. Den lar deg fjerne uønskede rader eller kolonner fra dataene.

For å slippe en indeks med pandaer, kan du bruke metodene .drop() og .reset_index(). .drop()-metoden lar deg fjerne bestemte rader eller kolonner. På den annen side lar .reset_index()-metoden deg fjerne indeksen og tilbakestille den til standard RangeIndex.

Pandas Drop Index Column: Forklart med eksempler

I denne artikkelen vil vi diskutere bruken av disse metodene for å slippe indekser i pandas DataFrames. Vi vil gå gjennom ulike eksempler for å demonstrere hvordan man effektivt kan manipulere et datasetts struktur for å passe ulike analytiske behov. Gjennom disse eksemplene vil du få en dypere forståelse av hvordan panda-biblioteket kan brukes til datamanipulering.

La oss komme inn i det!

Innholdsfortegnelse

Forstå Pandas Drop Index

Før vi dykker inn i å slippe indeks med pandaer, er det veldig viktig at du har en forståelse av hva en pandas DataFrame er. Videre bør du også være kjent med konseptet med indekser og kolonner i en pandas DataFrame.

Pandas Drop Index Column: Forklart med eksempler

I denne delen vil vi dekke det grunnleggende om en pandas DataFrame, indeks og kolonner. Vi skal deretter se på et eksempel på å slippe en indeks ved å bruke pandaer.

1. Hva er en Pandas Dataframe?

Pandas er et åpen kildekode Python-bibliotek som gir datamanipulering og analyseverktøy med høy ytelse. En av nøkkeldatastrukturene er DataFrame .

En pandas DataFrame er en todimensjonal datastruktur med merkede akser (rader og kolonner). Du kan tenke på en DataFrame som en Pythonic-objektrepresentasjon av en SQL-tabell eller et Excel-regneark.

Følgende er en typisk pandas DataFrame:

Pandas Drop Index Column: Forklart med eksempler

2. Hva er indekser og kolonner?

I en pandas DataFrame fungerer indeksen som en "adresse" for datapunkter. Det gir en måte å få tilgang til og organisere data på tvers av DataFrame. Det kan enten være standard heltallssekvens tildelt av pandaer eller en brukerdefinert tilpasset indeks.

Kolonner er variablene som er vert for forskjellige typer data i DataFrame. Hver kolonne er i hovedsak en serie med data. Den kan inneholde forskjellige datatyper som heltall, flyter eller strenger. Etiketten til kolonnen, ofte referert til som kolonnenavnet, identifiserer denne serien med data.

I en pandas DataFrame involverer datamanipulering ofte å jobbe med radetiketter (indekser) eller kolonneetiketter.

Noen vanlige operasjoner du kan utføre med en multi-indeks DataFrame inkluderer å velge, gi nytt navn og slippe rader eller kolonner basert på deres etiketter.

3. Hvordan slippe indekskolonne med pandaer

I pandaer kan du bruke DataFrame-metoden reset_index() for å slippe og tilbakestille indeksen.

Anta at vi har følgende DataFrame:

Pandas Drop Index Column: Forklart med eksempler

For å slippe indekskolonnen kan vi bruke følgende kode:

df.reset_index(drop=True)

Etter å ha kjørt denne koden, får du eksemplet nedenfor:

Pandas Drop Index Column: Forklart med eksempler

I utdataene kan du se at indeksen er droppet og erstattet med de opprinnelige indeksverdiene.

Du kan også bruke slippmetoden i pandaer for å fjerne spesifiserte etiketter fra rader eller kolonner.

Syntaksen for denne metoden er:

DataFrame.drop(labels=None, *, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')

Følgende er nøkkelparametrene for slippmetoden :

  • etiketter : Etikettene som skal fjernes. Det kan være enten rader eller kolonner avhengig av akseparameteren .

  • akse : Bestemmer om det skal slippes fra rader ( 0 eller 'indeks' ) eller kolonner ( 1 eller 'kolonner' ).

  • indeks : Et alternativ til å spesifisere akse=0 . Gjør det mulig å fjerne radetikettene.

  • kolonner : Et alternativ til å spesifisere akse=1 . Gjør det mulig å fjerne kolonneetikettene.

  • inplace : Hvis satt til True , vil operasjonen bli utført på plass, noe som betyr at den originale DataFrame vil bli endret. Hvis False (standard), vil en ny DataFrame med de angitte etikettene fjernet bli returnert.

  • feil : Kontrollerer hvordan man håndterer manglende etiketter. Hvis 'heve' (standard), vil det oppstå en feilmelding når etiketter ikke blir funnet. Hvis 'tvang' , vil manglende etiketter bli ignorert stille.

Anta at vi har følgende DataFrame:

Pandas Drop Index Column: Forklart med eksempler

Vi ønsker å droppe raden med indeks 1. For å gjøre dette ved å bruke slippmetoden, kan du skrive følgende kode, som starter med import pandaer:

import pandas as pd

# Drop row with index 1
df.drop(1, axis=0)

Argumentet akse =0 for slippet forteller tolken at vi utfører en radvis operasjon. Det andre argumentet 1 er radindeksen. Den ber tolken om å droppe raden med indeks 1.

Etter operasjonen ovenfor får vi følgende DataFrame:

Pandas Drop Index Column: Forklart med eksempler

La oss nå si at vi ønsker å droppe kolonnen med alder som kolonneoverskrift fra vår DataFrame. For å oppnå dette kan vi skrive følgende kode:

# Drop column 'Age'
df.drop('Age', axis=1)

Argumentet akse=1 forteller tolken at vi utfører en kolonnevis operasjon. Argumentet 'Alder' forteller tolken å slippe kolonnen med navnet 'Alder'.

Etter å ha kjørt koden ovenfor, får du følgende DataFrame:

Pandas Drop Index Column: Forklart med eksempler

Slik slipper du flere rader og kolonner

Eksemplet ovenfor demonstrerer å slippe en enkelt rad eller kolonne. Hva om du vil slette flere rader eller kolonner?

For å oppnå dette bruker vi den samme koden med noen små endringer. I stedet for å bruke en enkelt verdi, kan vi gi et av argumenter til slippfunksjonen for å fjerne flere rader og kolonner samtidig.

La oss si at jeg vil slippe de to første radene i vår DataFrame. For å oppnå dette kan vi bruke følgende kode:

# Dropping first 2 rows by index
df = df.drop([0, 1], axis=0)

I denne koden ber vi tolken om å slippe rad 0 og 1. Utdataene fra denne koden er gitt nedenfor:

Pandas Drop Index Column: Forklart med eksempler

Du kan se at rad 0 og 1 ikke lenger er i DataFrame.

La oss også droppe avdelingen og kolonnene Lønn. For å gjøre dette kan vi bruke følgende kode:

# Dropping columns by name
df = df.drop(['Salary', 'Department'], axis=1)

I dette skriptet ber vi tolken om å droppe kolonnene med Lønn og Avdeling som kolonneoverskrifter. Utgangen av denne koden er gitt nedenfor:

Pandas Drop Index Column: Forklart med eksempler

Dette er vår siste DataFrame. Totalt slettet vi to rader og to kolonner fra vår DataFrame ved å bruke slippmetoden.

For å lære mer om MultiIndex i pandaer, sjekk ut følgende video:

Slik slipper du rader og kolonner med Inplace

I forrige eksempel kan du se at vi først gjør endringer i DataFrame og deretter lagrer den som en ny DataFrame. Dette er imidlertid ikke en effektiv måte å slippe rader og kolonner på.

Et annet alternativ til å slippe rader og kolonner er å sette inplace -argumentet til slippfunksjonen til True .

Ved å sette inplace- parameteren til True , kan du endre DataFrame permanent uten å måtte tilordne den på nytt.

Dette er nyttig når du arbeider med store DataFrames, da det kan spare minne ved å unngå opprettelsen av en ny DataFrame.

Følgende er et eksempel på å slippe rader og kolonner med inplace :

# Dropping rows by index inplace
df.drop(labels=[0, 1], axis=0, inplace=True)

# Dropping columns by name inplace
df.drop(['Salary', 'Department'], axis=1, inplace=True)

Utgangen av koden ovenfor er gitt nedenfor:

Pandas Drop Index Column: Forklart med eksempler

Her kan du se at vi ikke oppretter noen ny DataFrame, men gjør endringer i den opprinnelige.

Hvordan jobbe med indekser i pandaer

I denne delen vil vi diskutere hvordan du arbeider med indekser i en pandas DataFrame. Vi vil dekke følgende to underseksjoner:

  1. Still inn og tilbakestill indeks

  2. ID og indekskolonne

1. Hvordan stille inn og tilbakestille indeks

Et viktig aspekt ved å jobbe med pandaer er å forstå hvordan man setter og tilbakestiller indekskolonner. En indeks er en nøkkelidentifikator for hver rad, og det er tilfeller der du kanskje vil endre den.

Sette en ny indeks

For å sette en ny indeks kan du bruke set_index()- metoden. Syntaksen til set_index er gitt nedenfor:

df.set_index('column_name', inplace=True)

Argumentet inplace=True her betyr at vi gjør endringer i den eksisterende DataFrame.

For å demonstrere dette bruker vi følgende DataFrame:

Pandas Drop Index Column: Forklart med eksempler

La oss si at vi ønsker å gjøre Navn-kolonnen til indeksen for vår DataFrame. For å oppnå dette kan vi bruke følgende kode:

df.set_index('Name', inplace=True)

Dette Python-skriptet vil gjøre Navn til indeksen til vår DataFrame. Utgangen av denne koden er gitt nedenfor:

Pandas Drop Index Column: Forklart med eksempler

Tilbakestille indeksverdiene

For å tilbakestille indeksen til standardformatet (dvs. en RangeIndex fra 0 til lengden på DataFrame minus 1), kan du bruke reset_index ()- metoden.

Syntaksen til reset_index() er gitt nedenfor:

df.reset_index(drop=True, inplace=True)

Ved å sette drop=True vil gjeldende indekskolonne bli fjernet, mens inplace=True sikrer at endringene blir brukt direkte på DataFrame uten å opprette en ny.

Når vi bruker denne koden på forrige DataFrame, får vi følgende utdata:

Pandas Drop Index Column: Forklart med eksempler

Du kan se at navnet, som tidligere var vår indeks, er tilbakestilt til standardverdiene.

2. Videre operasjoner med indekskolonne

Når du importerer en DataFrame fra for eksempel en CSV-fil, kan du bruke parameteren index_col til å spesifisere en kolonne som skal brukes som indeks.

Syntaksen til index_col er gitt nedenfor:

df = pd.read_csv('data.csv', index_col='column_name')

Videre, hvis du vil eksportere en DataFrame uten indekskolonnen, kan du sette indeksparameteren til False .

Syntaksen for denne metoden er gitt nedenfor:

df.to_csv('output.csv', index=False)

Nå som du forstår metoden for å droppe indeks, la oss se på hvordan du kan håndtere feil når du bruker slipp-funksjonen i neste avsnitt.

Hvordan håndtere feil når du bruker Drop-funksjonen i pandaer

I denne delen vil vi utforske hvordan du håndterer feil og spesielle tilfeller når du bruker pandas' slippfunksjon for å fjerne indekskolonner fra en DataFrame.

Konkret vil vi diskutere følgende:

  1. Håndtering av nøkkelfeil

  2. Arbeid med dupliserte rader

1. Hvordan håndtere KeyError

Når du bruker drop- funksjonen i pandaer, kan du støte på en KeyError hvis den angitte indeksen eller kolonnen ikke finnes i DataFrame.

For å forhindre at denne feilen oppstår, kan du bruke feilparameteren . Feilparameteren har to alternativer: 'heve' og 'ignorer' . Som standard er den satt til 'raise', noe som betyr at en KeyError vil oppstå hvis den angitte indeksen eller kolonnen ikke blir funnet.

Du kan imidlertid sette den til "ignorer" hvis du vil undertrykke feilen og fortsette å kjøre koden.

Anta at vi har følgende DataFrameLa oss prøve å slippe en rad som ikke eksisterer i DataFrame og se hva som skjer:

# Attempt to drop a non-existent index, will raise KeyError
# df.drop(5, inplace=True)

Python-skriptet vil gi følgende feil:

For å håndtere slike feil, sørg for at du refererer til rader som finnes i datasettet.

2. Hvordan jobbe med dupliserte rader

Når du renser data, er en viktig oppgave å se etter duplikater og fjerne dem.

Håndtering av dupliserte rader i en DataFrame kan legge til kompleksitet når du bruker slippfunksjonen .

Hvis du vil slette rader basert på dupliserte indeksverdier, kan du bruke den dupliserte funksjonen, og deretter bruke boolsk indeksering for å velge bare de ikke-dupliserte radene.

Anta at vi har følgende DataFrame:

Pandas Drop Index Column: Forklart med eksempler

Du kan se at vi har dupliserte indekser i datasettet vårt. For å fjerne duplikatene, identifiserer vi først duplikatverdiene med følgende kode:

# Find duplicated index values
duplicated_rows = df.index.duplicated(keep='first')

Etter dette velger vi bare de ikke-dupliserte radene og lagrer dem i forrige DataFrame med følgende kode:

# Select only non-duplicated rows
df = df[~duplicated_rows]

Den endelige utgangen er gitt nedenfor:

Den endelige utgangen har ikke lenger dupliserte rader.

Siste tanker

Når du fortsetter reisen din innen datavitenskap og analyse, er det å forstå hvordan du manipulerer og administrerer data en ferdighet som vil vise seg å være den viktigste.

Å mestre operasjoner som å slippe indekser i pandaer er en sentral del av dette. Å vite hvordan du tilbakestiller eller dropper en indeks er et springbrett mot å rense, transformere og utlede verdifull innsikt fra dataene dine.

Ved å lære hvordan du slipper indekser, vil du kunne omforme DataFrames mer effektivt. Du vil også kunne lage renere datasett som er lettere å lese og analysere. I tillegg kan tilbakestilling av indekser være avgjørende ved sammenslåing eller sammenkobling av flere DataFrames, der indekskonflikter kan oppstå.

Muligheten til å slippe indekser gjør at du kan ha større kontroll og fleksibilitet over datasettene dine!


Pipe In R: Koblingsfunksjoner med Dplyr

Pipe In R: Koblingsfunksjoner med Dplyr

I denne opplæringen lærer du hvordan du kobler funksjoner sammen ved å bruke dplyr-røroperatøren i programmeringsspråket R.

RANKX Deep Dive: A LuckyTemplates DAX-funksjon

RANKX Deep Dive: A LuckyTemplates DAX-funksjon

RANKX fra LuckyTemplates lar deg returnere rangeringen til et spesifikt tall i hver tabellrad som utgjør en del av en liste med tall.

Trekker ut LuckyTemplates-temaer og bilder fra PBIX

Trekker ut LuckyTemplates-temaer og bilder fra PBIX

Lær hvordan du demonterer en PBIX-fil for å trekke ut LuckyTemplates-temaer og bilder fra bakgrunnen og bruke den til å lage rapporten din!

Excel Formulas Cheat Sheet: Mellomveiledning

Excel Formulas Cheat Sheet: Mellomveiledning

Excel Formulas Cheat Sheet: Mellomveiledning

LuckyTemplates-kalendertabell: Hva er det og hvordan du bruker det

LuckyTemplates-kalendertabell: Hva er det og hvordan du bruker det

LuckyTemplates-kalendertabell: Hva er det og hvordan du bruker det

Python i LuckyTemplates: Hvordan installere og sette opp

Python i LuckyTemplates: Hvordan installere og sette opp

Lær hvordan du installerer programmeringsspråket Python i LuckyTemplates og hvordan du bruker verktøyene til å skrive koder og vise visuelle elementer.

Beregning av dynamiske fortjenestemarginer – enkel analyse av LuckyTemplates med DAX

Beregning av dynamiske fortjenestemarginer – enkel analyse av LuckyTemplates med DAX

Lær hvordan du beregner dynamiske fortjenestemarginer ved siden av LuckyTemplates og hvordan du kan få mer innsikt ved å grave dypere inn i resultatene.

Sortering av datotabellkolonner i LuckyTemplates

Sortering av datotabellkolonner i LuckyTemplates

Lær hvordan du sorterer feltene fra kolonner med utvidet datotabell på riktig måte. Dette er en god strategi å gjøre for vanskelige felt.

Finn dine beste produkter for hver region i LuckyTemplates ved å bruke DAX

Finn dine beste produkter for hver region i LuckyTemplates ved å bruke DAX

I denne artikkelen går jeg gjennom hvordan du kan finne de beste produktene dine per region ved å bruke DAX-beregninger i LuckyTemplates, inkludert TOPN- og CALCUATE-funksjonene.

Søppeldimensjon: Hva er det og hvorfor det er alt annet enn søppel

Søppeldimensjon: Hva er det og hvorfor det er alt annet enn søppel

Lær hvordan du bruker en søppeldimensjon for flagg med lav kardinalitet som du ønsker å inkludere i datamodellen din på en effektiv måte.