Pandas Drop Index Kolonne: Forklaret med eksempler

Pandas er et meget brugt Python-bibliotek til datamanipulation og -analyse. En væsentlig funktionalitet, som pandaer kan give dig, er evnen til at ændre strukturen af ​​et datasæt. Specifikt er det at droppe indekser i en DataFrame en afgørende operation, når du arbejder med datasæt. Det giver dig mulighed for at fjerne uønskede rækker eller kolonner fra dataene.

For at droppe et indeks med pandaer kan du bruge metoderne .drop() og .reset_index(). Metoden .drop() giver dig mulighed for at fjerne bestemte rækker eller kolonner. På den anden side giver metoden .reset_index() dig mulighed for at fjerne indekset og nulstille det til standard RangeIndex.

Pandas Drop Index Kolonne: Forklaret med eksempler

I denne artikel vil vi diskutere brugen af ​​disse metoder til at droppe indekser i pandas DataFrames. Vi vil gennemgå forskellige eksempler for at demonstrere, hvordan man effektivt manipulerer et datasæts struktur, så det passer til forskellige analytiske behov. Gennem disse eksempler får du en dybere forståelse af, hvordan pandas-biblioteket kan bruges til datamanipulation.

Lad os komme ind i det!

Indholdsfortegnelse

Forstå Pandas Drop Index

Før vi dykker ned i at droppe indeks med pandaer, er det meget vigtigt, at du har en forståelse af, hvad en pandas DataFrame er. Desuden bør du også være bekendt med konceptet med indekser og kolonner i en pandas DataFrame.

Pandas Drop Index Kolonne: Forklaret med eksempler

I dette afsnit vil vi dække det grundlæggende i en pandas DataFrame, indeks og kolonner. Vi vil derefter se på et eksempel på at droppe et indeks ved hjælp af pandaer.

1. Hvad er en Pandas Dataframe?

Pandas er et open source Python-bibliotek, der leverer højtydende datamanipulations- og analyseværktøjer. En af dens nøgledatastrukturer er DataFrame .

En pandas DataFrame er en todimensionel datastruktur med mærkede akser (rækker og kolonner). Du kan tænke på en DataFrame som en Pythonic-objektrepræsentation af en SQL-tabel eller et Excel-regneark.

Følgende er en typisk pandas DataFrame:

Pandas Drop Index Kolonne: Forklaret med eksempler

2. Hvad er indekser og kolonner?

I en pandas DataFrame fungerer indekset som en 'adresse' for datapunkter. Det giver et middel til at få adgang til og organisere data på tværs af DataFrame. Det kan enten være standardheltalssekvensen tildelt af pandaer eller et brugerdefineret brugerdefineret indeks.

Kolonner er de variable, der er vært for forskellige typer data i DataFrame. Hver kolonne er i det væsentlige en række data. Det kan indeholde forskellige datatyper såsom heltal, flydende eller strenge. Etiketten på kolonnen, almindeligvis omtalt som kolonnenavnet, identificerer denne serie af data.

I en pandas DataFrame involverer datamanipulation ofte at arbejde med rækkeetiketterne (indekser) eller kolonneetiketter.

Nogle almindelige handlinger, du kan udføre med en multi-indeks DataFrame, omfatter valg, omdøbning og sletning af rækker eller kolonner baseret på deres etiketter.

3. Sådan dropper du indekskolonne med pandaer

I pandaer kan du bruge DataFrame-metoden reset_index() til at droppe og nulstille indekset.

Antag, at vi har følgende DataFrame:

Pandas Drop Index Kolonne: Forklaret med eksempler

For at droppe indekskolonnen kan vi bruge følgende kode:

df.reset_index(drop=True)

Når du har kørt denne kode, får du nedenstående eksempel:

Pandas Drop Index Kolonne: Forklaret med eksempler

I outputtet kan du se, at indekset er droppet og erstattet med de originale indeksværdier.

Du kan også bruge drop- metoden i pandaer til at fjerne specificerede etiketter fra rækker eller kolonner.

Syntaksen for denne metode er:

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

Følgende er nøgleparametrene for dropmetoden :

  • etiketter : De etiketter, der skal fjernes. Det kan enten være rækker eller kolonner afhængigt af akseparameteren .

  • akse : Bestemmer, om der skal slippes fra rækker ( 0 eller 'indeks' ) eller kolonner ( 1 eller 'kolonner' ).

  • indeks : Et alternativ til at angive akse=0 . Giver mulighed for at angive rækkeetiketterne at fjerne.

  • kolonner : Et alternativ til at angive akse=1 . Gør det muligt at fjerne kolonneetiketterne.

  • inplace : Hvis indstillet til True , vil handlingen blive udført på plads, hvilket betyder, at den originale DataFrame vil blive ændret. Hvis False (standard), vil en ny DataFrame med de angivne etiketter fjernet blive returneret.

  • fejl : Styrer, hvordan man håndterer manglende etiketter. Hvis 'hæve' (standard), vil der blive vist en fejl, når etiketter ikke findes. Hvis 'tvang' , vil manglende etiketter blive ignoreret stille.

Antag, at vi har følgende DataFrame:

Pandas Drop Index Kolonne: Forklaret med eksempler

Vi vil gerne droppe rækken med indeks 1. For at gøre dette ved hjælp af drop-metoden kan du skrive følgende kode, begyndende med import pandaer:

import pandas as pd

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

Argumentet akse =0 for faldet fortæller fortolkeren, at vi udfører en rækkevis operation. Det andet argument 1 er rækkeindekset. Det fortæller tolken at droppe rækken med indeks 1.

Efter ovenstående operation får vi følgende DataFrame:

Pandas Drop Index Kolonne: Forklaret med eksempler

Lad os nu sige, at vi gerne vil droppe kolonnen med Alder som kolonneoverskrift fra vores DataFrame. For at opnå dette kan vi skrive følgende kode:

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

Argumentet axis=1 fortæller fortolkeren, at vi udfører en kolonnevis operation. Argumentet 'Alder' fortæller tolken at droppe kolonnen med navnet 'Alder'.

Når du har kørt ovenstående kode, får du følgende DataFrame:

Pandas Drop Index Kolonne: Forklaret med eksempler

Sådan droppes flere rækker og kolonner

Ovenstående eksempel demonstrerer at droppe en enkelt række eller kolonne. Hvad hvis du vil slette flere rækker eller kolonner?

For at opnå dette bruger vi den samme kode med nogle små ændringer. I stedet for at bruge en enkelt værdi, kan vi give et af argumenter til drop-funktionen for at fjerne flere rækker og kolonner på én gang.

Lad os sige, at jeg vil droppe de første 2 rækker i vores DataFrame. For at opnå dette kan vi bruge følgende kode:

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

I denne kode beder vi tolken om at droppe række 0 og 1. Outputtet af denne kode er givet nedenfor:

Pandas Drop Index Kolonne: Forklaret med eksempler

Du kan se, at række 0 og 1 ikke længere er i DataFrame.

Lad os også droppe afdelingen og lønkolonnerne. For at gøre dette kan vi bruge følgende kode:

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

I dette script beder vi tolken om at droppe kolonnerne med Løn og afdeling som kolonneoverskrifter. Outputtet af denne kode er givet nedenfor:

Pandas Drop Index Kolonne: Forklaret med eksempler

Dette er vores sidste DataFrame. I alt slettede vi to rækker og to kolonner fra vores DataFrame ved hjælp af drop-metoden.

For at lære mere om MultiIndex i pandaer, se følgende video:

Sådan dropper du rækker og kolonner med Inplace

I det forrige eksempel kan du se, at vi først foretager ændringer i DataFrame og derefter gemmer den som en ny DataFrame. Dette er dog ikke en effektiv måde at slette rækker og kolonner på.

Et andet alternativ til at droppe rækker og kolonner er at sætte inplace- argumentet for drop-funktionen til True .

Ved at indstille inplace- parameteren til True , kan du permanent ændre DataFrame uden at skulle tildele den igen.

Dette er nyttigt, når du har at gøre med store DataFrames, da det kan spare hukommelse ved at undgå oprettelsen af ​​en ny DataFrame.

Følgende er et eksempel på at slette rækker 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)

Outputtet af ovenstående kode er givet nedenfor:

Pandas Drop Index Kolonne: Forklaret med eksempler

Her kan du se, at vi ikke opretter nogen ny DataFrame, men foretager ændringer til den originale.

Sådan arbejder du med indekser i pandaer

I dette afsnit vil vi diskutere, hvordan man arbejder med indekser i en pandas DataFrame. Vi dækker følgende to underafsnit:

  1. Indstil og nulstil indeks

  2. ID og indekskolonne

1. Sådan indstilles og nulstilles indekset

Et vigtigt aspekt ved at arbejde med pandaer er at forstå, hvordan man indstiller og nulstiller indekskolonner. Et indeks er en nøgleidentifikator for hver række, og der er tilfælde, hvor du måske vil ændre det.

Indstilling af et nyt indeks

For at indstille et nyt indeks kan du bruge set_index() metoden. Syntaksen for set_index er angivet nedenfor:

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

Argumentet inplace=True betyder her, at vi foretager ændringer i den eksisterende DataFrame.

For at demonstrere dette bruger vi følgende DataFrame:

Pandas Drop Index Kolonne: Forklaret med eksempler

Lad os sige, at vi gerne vil gøre kolonnen Navn til indekset for vores DataFrame. For at opnå dette kan vi bruge følgende kode:

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

Dette Python-script vil gøre Navn til indekset for vores DataFrame. Outputtet af denne kode er givet nedenfor:

Pandas Drop Index Kolonne: Forklaret med eksempler

Nulstilling af indeksværdier

For at nulstille indekset til dets standardformat (dvs. et RangeIndex fra 0 til længden af ​​DataFrame minus 1), kan du bruge metoden reset_index() .

Syntaksen for reset_index() er angivet nedenfor:

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

Ved at indstille drop=True vil den aktuelle indekskolonne blive fjernet, mens inplace=True sikrer, at ændringerne anvendes direkte på DataFrame uden at oprette en ny.

Når vi anvender denne kode på den tidligere DataFrame, får vi følgende output:

Pandas Drop Index Kolonne: Forklaret med eksempler

Du kan se, at navnet, som tidligere var vores indeks, er nulstillet til standardværdierne.

2. Yderligere operationer med indekskolonne

Når du importerer en DataFrame fra f.eks. en CSV-fil, kan du bruge parameteren index_col til at angive en kolonne, der skal bruges som dit indeks.

Syntaksen for index_col er angivet nedenfor:

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

Ydermere, hvis du vil eksportere en DataFrame uden indekskolonnen, kan du indstille indeksparameteren til False .

Syntaksen for denne metode er angivet nedenfor:

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

Nu hvor du forstår metoden til at droppe indeks, lad os se på, hvordan du kan håndtere fejl, når du bruger drop-funktionen i næste afsnit.

Sådan håndteres fejl, når du bruger drop-funktionen i pandaer

I dette afsnit vil vi undersøge, hvordan man håndterer fejl og særlige tilfælde, når man bruger pandas' drop -funktion til at fjerne indekskolonner fra en DataFrame.

Konkret vil vi diskutere følgende:

  1. Håndtering af nøglefejl

  2. Arbejde med dublerede rækker

1. Sådan håndteres KeyError

Når du bruger drop- funktionen i pandaer, kan du støde på en KeyError, hvis det angivne indeks eller kolonne ikke findes i DataFrame.

For at forhindre denne fejl i at opstå, kan du bruge fejlparameteren . Fejlparameteren har to muligheder: 'hæve ' og 'ignorer'. Som standard er den sat til 'raise', hvilket betyder, at en KeyError vil blive hævet, hvis det angivne indeks eller kolonne ikke findes.

Du kan dog indstille den til 'ignorer', hvis du vil undertrykke fejlen og fortsætte med at udføre koden.

Antag, at vi har følgende DataFrameLad os prøve at slippe en række, der ikke findes i DataFrame, og se, hvad der sker:

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

Python-scriptet vil give følgende fejl:

For at håndtere sådanne fejl skal du sørge for, at du henviser til rækker, der er til stede i datasættet.

2. Sådan arbejder du med duplikerede rækker

Når du renser data, er en vigtig opgave at lede efter dubletter og fjerne dem.

Håndtering af duplikerede rækker i en DataFrame kan tilføje kompleksitet, når du bruger drop- funktionen.

Hvis du vil slette rækker baseret på duplikerede indeksværdier, kan du bruge den duplikerede funktion og derefter bruge boolsk indeksering til kun at vælge de ikke-duplikerede rækker.

Antag, at vi har følgende DataFrame:

Pandas Drop Index Kolonne: Forklaret med eksempler

Du kan se, at vi har duplikerede indekser i vores datasæt. For at fjerne dubletterne skal vi først identificere dubletværdierne med følgende kode:

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

Efter dette vælger vi kun de ikke-duplikerede rækker og gemmer dem i den forrige DataFrame med følgende kode:

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

Det endelige output er givet nedenfor:

Det endelige output har ikke længere duplikerede rækker.

Afsluttende tanker

Når du fortsætter din rejse i datavidenskab og analyse, er det at forstå, hvordan man manipulerer og administrerer data, en færdighed, der vil vise sig at være den vigtigste.

At mestre operationer som at droppe indekser i pandaer er en vigtig del af dette. At vide, hvordan man nulstiller eller dropper et indeks, er et springbræt mod at rense, transformere og udlede værdifuld indsigt fra dine data.

Ved at lære, hvordan du dropper indekser, vil du være i stand til at omforme dine DataFrames mere effektivt. Du vil også være i stand til at skabe renere datasæt, der er nemmere at læse og analysere. Derudover kan nulstilling af indekser være afgørende, når flere DataFrames flettes eller sammenkædes, hvor indekskonflikter kan opstå.

Evnen til at droppe indekser gør det muligt for dig at have større kontrol og fleksibilitet over dine datasæt!


Scatter Plot In R Script: Sådan oprettes og importeres

Scatter Plot In R Script: Sådan oprettes og importeres

I dette selvstudium lærer du, hvordan du opretter en R-spredningsplotvisualisering i LuckyTemplates ved hjælp af R Script-visualen.

Opgrader din eksterne værktøjsmenu i LuckyTemplates

Opgrader din eksterne værktøjsmenu i LuckyTemplates

Kend de bedste eksterne værktøjer i LuckyTemplates, og lær hvordan du installerer dem på dit LuckyTemplates skrivebord. Disse giver dine rapporter flere muligheder.

Opret hurtige mål i LuckyTemplates med Quick Measures Pro

Opret hurtige mål i LuckyTemplates med Quick Measures Pro

I denne blog vil vi lære om og øve os i at bruge Quick Measures Pro, et uundværligt eksternt værktøj, når du laver hurtige mål i LuckyTemplates.

Vis sidste opdateringsdato/tidspunkt i dine LuckyTemplates-rapporter

Vis sidste opdateringsdato/tidspunkt i dine LuckyTemplates-rapporter

Lær, hvordan du kommer med en nøjagtig sidste opdateringsdato for din LuckyTemplates-rapport. Alt du skal gøre er at bruge en M-kode og avanceret editor.

Regnskabsår Dynamisk filtrering i LuckyTemplates-rapporter

Regnskabsår Dynamisk filtrering i LuckyTemplates-rapporter

I denne vejledning vil jeg diskutere, hvordan du effektivt kan filtrere flere data via regnskabsår i dine LuckyTemplates-rapporter.

Power Query M sprogundervisning og beherskelse

Power Query M sprogundervisning og beherskelse

Denne vejledning vil diskutere, hvordan man med succes implementerer et M-sprog og løser almindelige fejl i Power Query Editor.

Pandas Drop Index Kolonne: Forklaret med eksempler

Pandas Drop Index Kolonne: Forklaret med eksempler

Pandas Drop Index Kolonne: Forklaret med eksempler

7 måder, hvordan man kontrollerer, om en Python-streng indeholder en understreng

7 måder, hvordan man kontrollerer, om en Python-streng indeholder en understreng

7 måder, hvordan man kontrollerer, om en Python-streng indeholder en understreng

Power Automate Oversigt over dynamisk indhold

Power Automate Oversigt over dynamisk indhold

Forstå, hvad Power Automate Dynamic Content er, og hvordan det giver brugerne mulighed for at vælge feltreferencer fra tidligere trin eller skrive udtryk.

Ændring af filplacering ved hjælp af en forespørgselsparameter i LuckyTemplates

Ændring af filplacering ved hjælp af en forespørgselsparameter i LuckyTemplates

I denne vejledning lærer du, hvordan du deler en fil med en person, der ikke er en del af din virksomhed, ved hjælp af en sql-forespørgselsparameter i LuckyTemplates.