Pandas Drop Index Kolumn: Förklarad med exempel

Pandas är ett mycket använt Python-bibliotek för datamanipulation och analys. En viktig funktion som pandor kan ge dig är möjligheten att modifiera strukturen för en datauppsättning. Närmare bestämt är att ta bort index i en DataFrame en avgörande operation när man arbetar med datamängder. Det låter dig ta bort oönskade rader eller kolumner från data.

För att släppa ett index med pandor kan du använda metoderna .drop() och .reset_index(). Metoden .drop() låter dig ta bort specifika rader eller kolumner. Å andra sidan låter metoden .reset_index() dig ta bort indexet och återställa det till standard RangeIndex.

Pandas Drop Index Kolumn: Förklarad med exempel

I den här artikeln kommer vi att diskutera användningen av dessa metoder för att släppa index i pandas DataFrames. Vi kommer att gå igenom olika exempel för att visa hur man effektivt manipulerar en datauppsättnings struktur för att passa olika analytiska behov. Genom dessa exempel får du en djupare förståelse för hur pandasbiblioteket kan användas för datamanipulation.

Låt oss gå in i det!

Innehållsförteckning

Förstå Pandas Drop Index

Innan vi dyker in i att tappa index med pandor är det mycket viktigt att du har en förståelse för vad en pandas DataFrame är. Dessutom bör du också vara bekant med konceptet med index och kolumner i en pandas DataFrame.

Pandas Drop Index Kolumn: Förklarad med exempel

I det här avsnittet kommer vi att täcka grunderna i en pandas DataFrame, index och kolumner. Vi ska sedan titta på ett exempel på att ta bort ett index med pandor.

1. Vad är en Pandas Dataframe?

Pandas är ett Python-bibliotek med öppen källkod som tillhandahåller högpresterande verktyg för datamanipulation och analys. En av dess nyckeldatastrukturer är DataFrame .

En pandas DataFrame är en tvådimensionell datastruktur med märkta axlar (rader och kolumner). Du kan tänka på en DataFrame som en Pythonic-objektrepresentation av en SQL-tabell eller ett Excel-kalkylblad.

Följande är en typisk pandas DataFrame:

Pandas Drop Index Kolumn: Förklarad med exempel

2. Vad är index och kolumner?

I en pandas DataFrame fungerar Indexet som en "adress" för datapunkter. Det ger ett sätt att komma åt och organisera data över DataFrame. Det kan antingen vara standardheltalssekvensen tilldelad av pandor eller ett användardefinierat anpassat index.

Kolumner är de variabler som är värd för olika typer av data i DataFrame. Varje kolumn är i huvudsak en serie data. Den kan innehålla olika datatyper som heltal, flytande eller strängar. Kolumnens etikett, vanligen kallad kolumnnamnet, identifierar denna dataserie.

I en pandas DataFrame innebär datamanipulation ofta att man arbetar med radetiketter (index) eller kolumnetiketter.

Några vanliga operationer som du kan utföra med en multi-index DataFrame inkluderar att välja, byta namn på och ta bort rader eller kolumner baserat på deras etiketter.

3. Hur man släpper indexkolumn med pandor

I pandor kan du använda DataFrame-metoden reset_index() för att släppa och återställa indexet.

Anta att vi har följande DataFrame:

Pandas Drop Index Kolumn: Förklarad med exempel

För att ta bort indexkolumnen kan vi använda följande kod:

df.reset_index(drop=True)

När du har kört den här koden får du följande exempel:

Pandas Drop Index Kolumn: Förklarad med exempel

I utgången kan du se att indexet tas bort och ersätts med de ursprungliga indexvärdena.

Du kan också använda droppmetoden i pandor för att ta bort specificerade etiketter från rader eller kolumner.

Syntaxen för denna metod är:

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

Följande är nyckelparametrarna för droppmetoden :

  • Etiketter : Etiketterna som ska tas bort. Det kan vara antingen rader eller kolumner beroende på axelparametern .

  • axel : Bestämmer om det ska tas bort från rader ( 0 eller 'index' ) eller kolumner ( 1 eller 'kolumner' ) .

  • index : Ett alternativ till att ange axel=0 . Tillåter att radetiketterna kan tas bort.

  • kolumner : Ett alternativ till att ange axel=1 . Gör att kolumnetiketterna kan tas bort.

  • inplace : Om satt till True kommer operationen att utföras på plats, vilket innebär att den ursprungliga DataFrame kommer att ändras. Om False (standard) returneras en ny DataFrame med de angivna etiketterna borttagna.

  • fel : Styr hur etiketter som saknas hanteras. Om "höja" (standard) kommer ett felmeddelande att visas när etiketter inte hittas. Om "tvingar" kommer saknade etiketter att ignoreras tyst.

Anta att vi har följande DataFrame:

Pandas Drop Index Kolumn: Förklarad med exempel

Vi skulle vilja ta bort raden med index 1. För att göra detta med släppmetoden kan du skriva följande kod, börja med import pandor:

import pandas as pd

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

Argumentet axis =0 för droppen talar om för tolken att vi utför en radvis operation. Det andra argumentet 1 är radindex. Den säger åt tolken att släppa raden med index 1.

Efter operationen ovan får vi följande DataFrame:

Pandas Drop Index Kolumn: Förklarad med exempel

Låt oss nu säga att vi skulle vilja ta bort kolumnen med Ålder som kolumnrubrik från vår DataFrame. För att uppnå detta kan vi skriva följande kod:

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

Argumentet axis=1 talar om för tolken att vi utför en kolumnvis operation. Argumentet 'Ålder' säger åt tolken att släppa kolumnen med namnet ' Ålder'.

Efter att ha kört ovanstående kod får du följande DataFrame:

Pandas Drop Index Kolumn: Förklarad med exempel

Hur man släpper flera rader och kolumner

Exemplet ovan visar att en enda rad eller kolumn släpps. Vad händer om du vill ta bort flera rader eller kolumner?

För att uppnå detta kommer vi att använda samma kod med några små ändringar. Istället för att använda ett enda värde kan vi tillhandahålla ett antal argument till släppfunktionen för att ta bort flera rader och kolumner samtidigt.

Låt oss säga att jag vill ta bort de två första raderna i vår DataFrame. För att uppnå detta kan vi använda följande kod:

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

I den här koden säger vi åt tolken att släppa raderna 0 och 1. Utdata från denna kod ges nedan:

Pandas Drop Index Kolumn: Förklarad med exempel

Du kan se att raderna 0 och 1 inte längre finns i DataFrame.

Låt oss också ta bort avdelningen och kolumnerna Lön. För att göra detta kan vi använda följande kod:

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

I det här skriptet ber vi tolken att ta bort kolumnerna med Lön och Avdelning som kolumnrubriker. Utdata från denna kod ges nedan:

Pandas Drop Index Kolumn: Förklarad med exempel

Detta är vår sista DataFrame. Totalt tog vi bort två rader och två kolumner från vår DataFrame med släppmetoden.

För att lära dig mer om MultiIndex i pandor, kolla in följande video:

Hur man släpper rader och kolumner med Inplace

I föregående exempel kan du se att vi först gör ändringar i DataFrame och sedan sparar den som en ny DataFrame. Detta är dock inte ett effektivt sätt att ta bort rader och kolumner.

Ett annat alternativ till att ta bort rader och kolumner är att sätta inplace -argumentet för drop-funktionen till True .

Genom att ställa in inplace -parametern till True kan du permanent modifiera DataFrame utan att behöva tilldela om den.

Detta är användbart när du hanterar stora DataFrames, eftersom det kan spara minne genom att undvika skapandet av en ny DataFrame.

Följande är ett exempel på att ta bort rader och kolumner 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)

Utdata från ovanstående kod ges nedan:

Pandas Drop Index Kolumn: Förklarad med exempel

Här kan du se att vi inte skapar någon ny DataFrame utan gör ändringar i den ursprungliga.

Hur man arbetar med index i pandor

I det här avsnittet kommer vi att diskutera hur man arbetar med index i en pandas DataFrame. Vi kommer att täcka följande två underavsnitt:

  1. Ställ in och återställ index

  2. ID och indexkolumn

1. Hur man ställer in och återställer index

En viktig aspekt av att arbeta med pandor är att förstå hur man ställer in och återställer indexkolumner. Ett index är en nyckelidentifierare för varje rad, och det finns tillfällen då du kanske vill ändra det.

Ställa in ett nytt index

För att ställa in ett nytt index kan du använda metoden set_index() . Syntaxen för set_index ges nedan:

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

Argumentet inplace=True betyder här att vi gör ändringar i den befintliga DataFrame.

För att demonstrera detta använder vi följande DataFrame:

Pandas Drop Index Kolumn: Förklarad med exempel

Låt oss säga att vi skulle vilja göra kolumnen Namn till index för vår DataFrame. För att uppnå detta kan vi använda följande kod:

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

Detta Python-skript kommer att göra Namn till indexet för vår DataFrame. Utdata från denna kod ges nedan:

Pandas Drop Index Kolumn: Förklarad med exempel

Återställa indexvärdena

För att återställa indexet till dess standardformat (dvs. ett RangeIndex från 0 till längden på DataFrame minus 1), kan du använda metoden reset_index() .

Syntaxen för reset_index() ges nedan:

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

Genom att ställa in drop=True kommer den aktuella indexkolumnen att tas bort, medan inplace=True säkerställer att ändringarna tillämpas direkt på DataFrame utan att skapa en ny.

När vi tillämpar den här koden på den tidigare DataFrame får vi följande utdata:

Pandas Drop Index Kolumn: Förklarad med exempel

Du kan se att namnet, som tidigare var vårt index, är återställt till standardvärdena.

2. Ytterligare operationer med indexkolumn

När du importerar en DataFrame från till exempel en CSV-fil kan du använda parametern index_col för att ange en kolumn som ska användas som ditt index.

Syntaxen för index_col ges nedan:

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

Om du dessutom vill exportera en DataFrame utan indexkolumnen kan du ställa in indexparametern till False .

Syntaxen för denna metod ges nedan:

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

Nu när du förstår metoden för att ta bort index, låt oss titta på hur du kan hantera fel när du använder släppfunktionen i nästa avsnitt.

Hur man hanterar fel när du använder släppfunktionen i pandor

I det här avsnittet kommer vi att utforska hur man hanterar fel och speciella fall när man använder pandas drop- funktion för att ta bort indexkolumner från en DataFrame.

Specifikt kommer vi att diskutera följande:

  1. Hantering av KeyError

  2. Arbeta med dubbletter av rader

1. Hur man hanterar KeyError

När du använder släppfunktionen i pandor kan du stöta på ett KeyError om det angivna indexet eller kolumnen inte hittas i DataFrame.

För att förhindra att detta fel uppstår kan du använda parametern errors . Parametern errors har två alternativ: 'höja' och 'ignorera'. Som standard är den inställd på "höja", vilket betyder att ett KeyError kommer att höjas om det angivna indexet eller kolumnen inte hittas.

Du kan dock ställa in den på "ignorera" om du vill undertrycka felet och fortsätta exekvera koden.

Anta att vi har följande DataFrameLåt oss försöka släppa en rad som inte finns i DataFrame och se vad som händer:

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

Python-skriptet kommer att ge följande fel:

För att hantera sådana fel, se till att du hänvisar till rader som finns i datamängden.

2. Hur man arbetar med dubbletter av rader

När du rengör data är en viktig uppgift att leta efter dubbletter och ta bort dem.

Att hantera dubbletter av rader i en DataFrame kan öka komplexiteten när du använder släppfunktionen .

Om du vill ta bort rader baserat på duplicerade indexvärden kan du använda den duplicerade funktionen och sedan använda boolesk indexering för att bara välja de icke-duplicerade raderna.

Anta att vi har följande DataFrame:

Pandas Drop Index Kolumn: Förklarad med exempel

Du kan se att vi har dubbletter av index i vår datauppsättning. För att ta bort dubbletterna identifierar vi först dubblettvärdena med följande kod:

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

Efter detta väljer vi endast de icke-duplicerade raderna och lagrar dem i föregående DataFrame med följande kod:

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

Den slutliga utgången ges nedan:

Den slutliga utmatningen har inte längre dubbletter av rader.

Slutgiltiga tankar

När du fortsätter din resa inom datavetenskap och analys är att förstå hur man manipulerar och hanterar data en färdighet som kommer att visa sig vara den viktigaste.

Att bemästra operationer som att tappa index i pandor är en viktig del av detta. Att veta hur man återställer eller släpper ett index är ett språngbräde mot att rengöra, transformera och härleda värdefulla insikter från dina data.

Genom att lära dig hur du släpper index kommer du att kunna omforma dina DataFrames mer effektivt. Du kommer också att kunna skapa renare datamängder som är lättare att läsa och analysera. Dessutom kan återställning av index vara avgörande när man slår samman eller sammanfogar flera DataFrames, där indexkonflikter kan uppstå.

Möjligheten att släppa index gör att du kan ha större kontroll och flexibilitet över dina datauppsättningar!


Pipe In R: Anslutningsfunktioner med Dplyr

Pipe In R: Anslutningsfunktioner med Dplyr

I den här handledningen kommer du att lära dig hur du kopplar ihop funktioner med hjälp av dplyr-röroperatorn i programmeringsspråket R.

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX från LuckyTemplates låter dig returnera rankningen av ett specifikt nummer i varje tabellrad som utgör en del av en lista med nummer.

Extrahera LuckyTemplates-teman och bilder från PBIX

Extrahera LuckyTemplates-teman och bilder från PBIX

Lär dig hur du tar isär en PBIX-fil för att extrahera LuckyTemplates-teman och bilder från bakgrunden och använda den för att skapa din rapport!

Excel Formler Fuskblad: Mellanvägledning

Excel Formler Fuskblad: Mellanvägledning

Excel Formler Fuskblad: Mellanvägledning

LuckyTemplates Kalendertabell: Vad är det och hur man använder det

LuckyTemplates Kalendertabell: Vad är det och hur man använder det

LuckyTemplates Kalendertabell: Vad är det och hur man använder det

Python i LuckyTemplates: Hur man installerar och ställer in

Python i LuckyTemplates: Hur man installerar och ställer in

Lär dig hur du installerar programmeringsspråket Python i LuckyTemplates och hur du använder dess verktyg för att skriva koder och visa bilder.

Beräkna dynamiska vinstmarginaler – enkel analys av LuckyTemplates med DAX

Beräkna dynamiska vinstmarginaler – enkel analys av LuckyTemplates med DAX

Lär dig hur du beräknar dynamiska vinstmarginaler vid sidan av LuckyTemplates och hur du kan få fler insikter genom att gräva djupare i resultaten.

Sortering av datumtabellkolumner i LuckyTemplates

Sortering av datumtabellkolumner i LuckyTemplates

Lär dig hur du sorterar fälten från en utökad datumtabells kolumner korrekt. Detta är en bra strategi att göra för svåra fält.

Hitta dina bästa produkter för varje region i LuckyTemplates med DAX

Hitta dina bästa produkter för varje region i LuckyTemplates med DAX

I den här artikeln går jag igenom hur du kan hitta dina toppprodukter per region med hjälp av DAX-beräkningar i LuckyTemplates, inklusive TOPN- och CALCULATE-funktionerna.

Skräpdimension: Vad är det och varför det är allt annat än skräp

Skräpdimension: Vad är det och varför det är allt annat än skräp

Lär dig hur du använder en skräpdimension för flaggor med låg kardinalitet som du vill infoga i din datamodell på ett effektivt sätt.