Resetovat index v datovém rámci Pandas
Pojďme diskutovat o tom, jak resetovat index v Pandas DataFrame. Často začínáme s velkým datovým rámcem pandy a po manipulaci/filtrování datového rámce skončíme s mnohem menším datovým rámcem. Když se podíváme na menší datový rámec, může stále nést index řádku původního datového rámce. Pokud je původní index čísla , nyní máme indexy, které nejsou spojité.
Obnovit syntaxi indexu
Syntaxe:
DataFrame.reset_index(level=None, drop=False, inplace=False, col_level=0, col_fill=)
- Parametry:
level>: Určuje úrovně víceúrovňového indexu, které se mají resetovat.drop>: Zahodí aktuální index, pokud je True; přidá jako nový sloupec, pokud je False.inplace>: Upraví DataFrame na místě, pokud je True; vrátí nový DataFrame, pokud je False.col_level>: Určuje, která úroveň víceúrovňových sloupců se má resetovat.col_fill>: Doplní chybějící hodnoty v úrovních sloupců.- Typ vrácení: Vrátí nový DataFrame if
inplace>je False; Žádné pokudinplace>je pravda
No, pandy mají reset_index()> funkce. Takže k resetování indexu na výchozí celočíselný index začínající na 0, můžeme jednoduše použít reset_index()> funkce. Pojďme se tedy podívat na různé způsoby, jak můžeme resetovat index DataFrame.
Co je Reset Index?
v Krajta programovací jazyk a knihovna pandas reset_index> metoda se používá k resetování indexu datového rámce. Když provádíte operace na DataFrame v pandách, index DataFrame se může změnit nebo přestat řadit. The reset_index> metoda umožňuje resetovat index na výchozí index založený na celočíselných číslech a resetovat index v Pandas DataFrame volitelně odstranění aktuálního indexu.
Resetovat index v datovém rámci Pandas
Existují různé metody, s jejichž pomocí můžeme Resetovat Index v Pandas Dataframe, některé obecně používané metody vysvětlujeme na příkladech.
- Vytvořit vlastní index bez odstranění výchozího indexu
- Vytvořte si svůj vlastní index a odeberte výchozí index
- Obnovit vlastní index a vytvořit výchozí index jako index
- Vytvořte sloupec datového rámce jako index a odeberte výchozí index
- Vytvořte sloupec datového rámce jako index bez odebrání indexu
Vytváření Pandas DataFrame
Zde vytváříme ukázkový datový rámec Pandas:
Python3
# Import pandas package> import> pandas as pd> > # Define a dictionary containing employee data> data> => {> 'Name'> :[> 'Jai'> ,> 'Princi'> ,> 'Gaurav'> ,> 'Anuj'> ,> 'Geeku'> ],> > 'Age'> :[> 27> ,> 24> ,> 22> ,> 32> ,> 15> ],> > 'Address'> :[> 'Delhi'> ,> 'Kanpur'> ,> 'Allahabad'> ,> 'Kannauj'> ,> 'Noida'> ],> > 'Qualification'> :[> 'Msc'> ,> 'MA'> ,> 'MCA'> ,> 'Phd'> ,> '10th'> ] }> # Convert the dictionary into DataFrame> df> => pd.DataFrame(data)> print> (df)> |
Výstup:
Name Age Address Qualification 0 Jai 27 Delhi Msc 1 Princi 24 Kanpur MA 2 Gaurav 22 Allahabad MCA 3 Anuj 32 Kannauj Phd 4 Geeku 15 Noida 10th
Vytvořit Vlastní index bez odstranění výchozího indexu
V tomto příkladu níže kód používá knihovnu pandas k vytvoření DataFrame z dat zaměstnanců. Definuje a slovník, nastaví vlastní index, převede jej na DataFrame, resetuje index a vytiskne výsledek.
Python3
# Import pandas package> import> pandas as pd> > # Define a dictionary containing employee data> data> => {> 'Name'> :[> 'Jai'> ,> 'Princi'> ,> 'Gaurav'> ,> 'Anuj'> ,> 'Geeku'> ],> > 'Age'> :[> 27> ,> 24> ,> 22> ,> 32> ,> 15> ],> > 'Address'> :[> 'Delhi'> ,> 'Kanpur'> ,> 'Allahabad'> ,> 'Kannauj'> ,> 'Noida'> ],> > 'Qualification'> :[> 'Msc'> ,> 'MA'> ,> 'MCA'> ,> 'Phd'> ,> '10th'> ] }> index> => [> 'a'> ,> 'b'> ,> 'c'> ,> 'd'> ,> 'e'> ]> # Convert the dictionary into DataFrame> df> => pd.DataFrame(data, index)> # Make Own Index as index> # In this case default index is exist> df.reset_index(inplace> => True> )> print> (df)> |
Výstup:
index Name Age Address Qualification 0 a Jai 27 Delhi Msc 1 b Princi 24 Kanpur MA 2 c Gaurav 22 Allahabad MCA 3 d Anuj 32 Kannauj Phd 4 e Geeku 15 Noida 10th
Vytvořte si svůj vlastní index a odstraňte výchozí index
V tomto příkladu níže kód používá knihovnu pandas k vytvoření DataFrame z dat zaměstnanců uložených ve slovníku. Nastaví vlastní index („a“ až „e“) a poté vytiskne výsledný DataFrame, kde vlastní index nahradí výchozí číselný index.
Python3
# Import pandas package> import> pandas as pd> > # Define a dictionary containing employee data> data> => {> 'Name'> :[> 'Jai'> ,> 'Princi'> ,> 'Gaurav'> ,> 'Anuj'> ,> 'Geeku'> ],> > 'Age'> :[> 27> ,> 24> ,> 22> ,> 32> ,> 15> ],> > 'Address'> :[> 'Delhi'> ,> 'Kanpur'> ,> 'Allahabad'> ,> 'Kannauj'> ,> 'Noida'> ],> > 'Qualification'> :[> 'Msc'> ,> 'MA'> ,> 'MCA'> ,> 'Phd'> ,> '10th'> ] }> # Create own index> index> => [> 'a'> ,> 'b'> ,> 'c'> ,> 'd'> ,> 'e'> ]> # Convert the dictionary into DataFrame> # Make Own Index and Removing Default index> df> => pd.DataFrame(data, index)> print> (df)> |
Výstup:
Name Age Address Qualification a Jai 27 Delhi Msc b Princi 24 Kanpur MA c Gaurav 22 Allahabad MCA d Anuj 32 Kannauj Phd e Geeku 15 Noida 10th
Obnovit vlastní index a vytvořit výchozí index jako index
V tomto příkladu níže kód vytvoří Pandas DataFrame ze slovníku dat zaměstnanců s vlastním indexem („a“ až „e“). Poté obnoví index, nahradí vlastní index výchozím číselným indexem a poté vytiskne výsledný snímek.
Python3
# Import pandas package> import> pandas as pd> > # Define a dictionary containing employee data> data> => {> 'Name'> :[> 'Jai'> ,> 'Princi'> ,> 'Gaurav'> ,> 'Anuj'> ,> 'Geeku'> ],> > 'Age'> :[> 27> ,> 24> ,> 22> ,> 32> ,> 15> ],> > 'Address'> :[> 'Delhi'> ,> 'Kanpur'> ,> 'Allahabad'> ,> 'Kannauj'> ,> 'Noida'> ],> > 'Qualification'> :[> 'Msc'> ,> 'MA'> ,> 'MCA'> ,> 'Phd'> ,> '10th'> ] }> # Create own index> index> => [> 'a'> ,> 'b'> ,> 'c'> ,> 'd'> ,> 'e'> ]> # Convert the dictionary into DataFrame> df> => pd.DataFrame(data, index)> # remove own index with default index> df.reset_index(inplace> => True> , drop> => True> )> print> (df)> |
Výstup :
Name Age Address Qualification 0 Jai 27 Delhi Msc 1 Princi 24 Kanpur MA 2 Gaurav 22 Allahabad MCA 3 Anuj 32 Kannauj Phd 4 Geeku 15 Noida 10th
Vytvořte sloupec jako index a odeberte výchozí index
V tomto příkladu níže kód vytvoří datový rámec Pandas z dat zaměstnanců, nastaví vlastní index a poté změní index na sloupec „Věk“, přičemž odstraní výchozí číselný index. Konečný datový rámec se vytiskne dvakrát.
Python3
# Import pandas package> import> pandas as pd> > # Define a dictionary containing employee data> data> => {> 'Name'> :[> 'Jai'> ,> 'Princi'> ,> 'Gaurav'> ,> 'Anuj'> ,> 'Geeku'> ],> > 'Age'> :[> 27> ,> 24> ,> 22> ,> 32> ,> 15> ],> > 'Address'> :[> 'Delhi'> ,> 'Kanpur'> ,> 'Allahabad'> ,> 'Kannauj'> ,> 'Noida'> ],> > 'Qualification'> :[> 'Msc'> ,> 'MA'> ,> 'MCA'> ,> 'Phd'> ,> '10th'> ] }> # Create own index> index> => [> 'a'> ,> 'b'> ,> 'c'> ,> 'd'> ,> 'e'> ]> # Convert the dictionary into DataFrame> df> => pd.DataFrame(data, index)> # set index any column of our DF and> # remove default index> df.set_index([> 'Age'> ], inplace> => True> )> print> (df)> |
Výstup:
Name Address Qualification Age 27 Jai Delhi Msc 24 Princi Kanpur MA 22 Gaurav Allahabad MCA 32 Anuj Kannauj Phd 15 Geeku Noida 10th
Vytvořte sloupec datového rámce jako index bez odebrání indexu
V tomto příkladu níže kód vytvoří DataFrame z dat zaměstnanců, zpočátku pomocí vlastního indexu. Poté nastaví sloupec „Věk“ jako index, resetuje index bez odstranění výchozího číselného indexu a nakonec vytiskne výsledný DataFrame.
Python3
# Import pandas package> import> pandas as pd> > # Define a dictionary containing employee data> data> => {> 'Name'> :[> 'Jai'> ,> 'Princi'> ,> 'Gaurav'> ,> 'Anuj'> ,> 'Geeku'> ],> > 'Age'> :[> 27> ,> 24> ,> 22> ,> 32> ,> 15> ],> > 'Address'> :[> 'Delhi'> ,> 'Kanpur'> ,> 'Allahabad'> ,> 'Kannauj'> ,> 'Noida'> ],> > 'Qualification'> :[> 'Msc'> ,> 'MA'> ,> 'MCA'> ,> 'Phd'> ,> '10th'> ] }> # Create own index> index> => [> 'a'> ,> 'b'> ,> 'c'> ,> 'd'> ,> 'e'> ]> # Convert the dictionary into DataFrame> df> => pd.DataFrame(data, index)> # set any column as index> # Here we set age column as index> df.set_index([> 'Age'> ], inplace> => True> )> # reset index without removing default index> df.reset_index(level> => [> 'Age'> ], inplace> => True> )> print> (df)> |
Výstup:
Age Name Address Qualification 0 27 Jai Delhi Msc 1 24 Princi Kanpur MA 2 22 Gaurav Allahabad MCA 3 32 Anuj Kannauj Phd 4 15 Geeku Noida 10th