Ponastavi indeks v Pandas Dataframe

Pogovorimo se o tem, kako ponastaviti indeks v Pandas DataFrame. Pogosto začnemo z ogromnim podatkovnim okvirjem Pande in po obdelavi/filtriranju podatkovnega okvira dobimo veliko manjši podatkovni okvir. Ko pogledamo manjši podatkovni okvir, lahko še vedno nosi indeks vrstice izvirnega podatkovnega okvira. Če je originalni indeks številke , zdaj imamo indekse, ki niso zvezni.

Ponastavi sintakso indeksa

Sintaksa:

DataFrame.reset_index(level=Brez, drop=False, inplace=False, col_level=0, col_fill=)

  • Parametri:
    • level> : Določi stopnje večnivojskega indeksa za ponastavitev.
    • drop> : Zavrže trenutni indeks, če je True; doda kot nov stolpec, če je False.
    • inplace> : spremeni DataFrame na mestu, če je True; vrne nov DataFrame, če je False.
    • col_level> : Določa, katero raven večnivojskih stolpcev ponastaviti.
    • col_fill> : Zapolni manjkajoče vrednosti v ravneh stolpcev.
  • Vrsta vračila: Vrne nov DataFrame, če inplace> je False; Brez če inplace> je res

No, pande imajo reset_index()> funkcijo. Za ponastavitev indeksa na privzeti celoštevilski indeks, ki se začne pri 0, lahko preprosto uporabimo reset_index()> funkcijo. Oglejmo si torej različne načine, kako lahko ponastavimo indeks DataFrame.

Kaj je Reset Index?

noter Python programski jezik in knjižnica pandas, the reset_index> metoda se uporablja za ponastavitev indeksa podatkovnega okvira. Ko izvajate operacije na DataFrame v pandah, se lahko indeks DataFrame spremeni ali postane neurejen. The reset_index> omogoča ponastavitev indeksa na privzeti indeks, ki temelji na celem številu, in ponastavitev indeksa v Pandas DataFrame po želji odstranitev trenutnega indeksa.

Ponastavi indeks v Pandas Dataframe

Obstajajo različne metode, s pomočjo katerih lahko ponastavimo indeks v Pandas Dataframe, nekaj splošno uporabljenih metod razlagamo s primeri.

  • Ustvarite lastno kazalo, ne da bi odstranili privzeti indeks
  • Ustvarite svoj lasten indeks in odstranite privzeti indeks
  • Ponastavite lastno kazalo in ustvarite privzeti indeks kot indeks
  • Naredite stolpec Dataframe kot indeks in odstranite privzeti indeks
  • Naredite stolpec Dataframe kot indeks, ne da bi odstranili indeks

Ustvarjanje Pandas DataFrame

Tukaj ustvarjamo vzorec Pandas 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'> ] }> # Convert the dictionary into DataFrame> df> => pd.DataFrame(data)> print> (df)>

Izhod:

   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 

Ustvari Lasten indeks brez odstranitve privzetega indeksa

V tem primeru spodaj koda uporablja knjižnico pandas za ustvarjanje DataFrame iz podatkov o zaposlenih. Določa a slovar, nastavi indeks po meri, ga pretvori v DataFrame, ponastavi indeks in natisne rezultat.

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)>

Izhod:

   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 

Ustvarite svoj lasten indeks in odstranite privzeti indeks

V tem primeru spodaj koda uporablja knjižnico pandas za ustvarjanje DataFrame iz podatkov o zaposlenih, shranjenih v slovarju. Nastavi indeks po meri („a“ do „e“) in nato natisne dobljeni DataFrame, kjer indeks po meri nadomesti privzeti številski indeks.

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)>

Izhod:

   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 

Ponastavite lastno kazalo in ustvarite privzeti indeks kot indeks

V tem primeru spodaj koda ustvari Pandas DataFrame iz slovarja podatkov o zaposlenih z indeksom po meri ('a' do 'e'). Nato ponastavi indeks, tako da indeks po meri nadomesti s privzetim številčnim indeksom, nato pa natisne dobljeni okvir.

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)>

Izhod:

   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 

Naredite stolpec kot indeks in odstranitev privzetega indeksa

V tem primeru spodaj koda ustvari Pandas DataFrame iz podatkov o zaposlenih, nastavi indeks po meri in nato spremeni indeks v stolpec »Starost«, medtem ko odstrani privzeti številski indeks. Končni podatkovni okvir se natisne dvakrat.

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)>

Izhod:

   Name Address Qualification   Age 27 Jai Delhi Msc 24 Princi Kanpur MA 22 Gaurav Allahabad MCA 32 Anuj Kannauj Phd 15 Geeku Noida 10th 

Naredite stolpec Dataframe kot indeks, ne da bi odstranili indeks

V tem primeru spodaj koda ustvari DataFrame iz podatkov o zaposlenih, sprva z uporabo indeksa po meri. Nato nastavi stolpec »Starost« kot indeks, ponastavi indeks, ne da bi odstranil privzeti številski indeks, in končno natisne nastali 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)>

Izhod:

    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