Skapa en datumtabell i LuckyTemplates
Ta reda på varför det är viktigt att ha en dedikerad datumtabell i LuckyTemplates och lär dig det snabbaste och mest effektiva sättet att göra det.
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.
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.
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
Ställ in och återställ index
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:
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:
Å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:
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:
Hantering av KeyError
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:
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!
Ta reda på varför det är viktigt att ha en dedikerad datumtabell i LuckyTemplates och lär dig det snabbaste och mest effektiva sättet att göra det.
Denna korta handledning belyser LuckyTemplates mobilrapporteringsfunktion. Jag ska visa dig hur du kan utveckla rapporter effektivt för mobila enheter.
I denna LuckyTemplates Showcase går vi igenom rapporter som visar professionell serviceanalys från ett företag som har flera kontrakt och kundengagemang.
Gå igenom de viktigaste uppdateringarna för Power Apps och Power Automate och deras fördelar och konsekvenser för Microsoft Power Platform.
Upptäck några vanliga SQL-funktioner som vi kan använda som sträng, datum och några avancerade funktioner för att bearbeta eller manipulera data.
I den här handledningen kommer du att lära dig hur du skapar din perfekta LuckyTemplates-mall som är konfigurerad efter dina behov och preferenser.
I den här bloggen kommer vi att visa hur man lager fältparametrar med små multiplar för att skapa otroligt användbara insikter och bilder.
I den här bloggen kommer du att lära dig hur du använder LuckyTemplates ranknings- och anpassade grupperingsfunktioner för att segmentera en exempeldata och rangordna den enligt kriterier.
I den här handledningen kommer jag att täcka en specifik teknik kring hur man visar Kumulativ total endast upp till ett specifikt datum i dina bilder i LuckyTemplates.
Lär dig hur du skapar och anpassar punktdiagram i LuckyTemplates, som huvudsakligen används för att mäta prestanda mot mål eller tidigare år.