logo

Python | Pandas DataFrame.set_index()

I denne artikel vil vi diskutere Pandas DataFrame.set_index() i Python. Python skiller sig ud som et fremragende sprog til dataanalyse, hovedsagelig på grund af dets enestående økosystem af datacentrerede pakker. Blandt disse pakker, Pandaer spiller en væsentlig rolle i at forenkle import og analyse af data.

Pandas DataFrame.set_index() Syntaks

Syntaks: DataFrame.set_index(keys, drop=True, append=False, inplace=False, verify_integrity=False)

Parametre:



  • nøgler: Kolonnenavn eller en liste over kolonnenavne.
  • dråbe: En boolsk værdi, der, hvis True, dropper den kolonne, der bruges til indekset.
  • Tilføj: Hvis Sand, føjer den angivne kolonne til den eksisterende indekskolonne.
  • på plads: Hvis True, foretages ændringerne i selve DataFrame.
  • verify_integrity: Hvis True, kontrollerer den nye indekskolonne for dubletter.

Hvad er Pandas DataFrame.set_index()?

Pandas dataramme. sæt_indeks() metode bruges til at tildele en liste, serie eller en anden dataramme som indekset for en given dataramme. Det er især nyttigt, når du kombinerer flere datarammer, hvilket giver mulighed for nem ændring af indekset. Mens en indekskolonne kan angives under oprettelse af dataramme, giver set_index() en fleksibel måde at ændre indekset på senere. I bund og grund giver det dig mulighed for at indstille en liste, serie eller dataramme som indekset for en dataramme. Men nogle gange er en dataramme lavet af to eller flere datarammer, og senere indeks kan derfor ændres ved hjælp af denne metode.

For at downloade den brugte CSV-fil, klik Her.

Pandas DataFrame.set_index() Eksempler

Nedenfor er korrekte illustrationer af eksemplerne for Pandas DataFrame.set_index().

  • Pandaer Indstil indeks til kolonne
  • Flere indekskolonne
  • Sætter en single Flydende søjle som indeks
  • Indstilling tre kolonner som Multiindeks
  • Pandaer sæt indeks over specifik kolonne

Pandaer Indstil indeks til kolonne

I dette eksempel ændrer vi indekskolonnen, kolonnen Fornavn er blevet gjort til indekskolonnen i Data Frame.

Python3




# importing pandas package> import> pandas as pd> # making data frame from csv file> data>=> pd.read_csv(>'employees.csv'>)> # setting first name as index column> data.set_index(>'First Name'>, inplace>=> True>)> # display> data.head()>

>

>

Produktion : Før operation –

Efter operationen –

Som vist i outputbillederne var indekskolonnen tidligere en række af tal, men senere er den blevet erstattet med Fornavn.

Pandaer Indstil indeks til flere indekskolonne

I dette eksempel vil to kolonner blive lavet som indekskolonne. Slip parameter bruges til at slette kolonnen og tilføje parameter bruges til at tilføje beståede kolonner til den allerede eksisterende indekskolonne.

Python3


java hvis andet



# importing pandas package> import> pandas as pd> # making data frame from csv file> data>=> pd.read_csv(>'employees.csv'>)> # setting first name as index column> data.set_index([>'First Name'>,>'Gender'>], inplace>=> True>,> >append>=> True>, drop>=> False>)> # display> data.head()>

>

>

Produktion:

Som vist i outputbilledet har dataene 3 indekskolonner.

Pandas Dataframe Index Indstilling af en enkelt Flydende søjle som indeks

I dette eksempel bruger nedenstående kodestykke Pandas-biblioteket til at oprette en DataFrame med navnet 'df' fra en indlejret liste over elevdata. Den indstiller kolonnen 'Agg_Marks' som indekset og viser den resulterende DataFrame med kolonnerne 'Navn', 'Alder', 'By' og 'Land'.

Python3




# importing pandas library> import> pandas as pd> # creating and initializing a nested list> students>=> [[>'jack'>,>34>,>'Sydeny'>,>'Australia'>,>85.96>],> >[>'Riti'>,>30>,>'Delhi'>,>'India'>,>95.20>],> >[>'Vansh'>,>31>,>'Delhi'>,>'India'>,>85.25>],> >[>'Nanyu'>,>32>,>'Tokyo'>,>'Japan'>,>74.21>],> >[>'Maychan'>,>16>,>'New York'>,>'US'>,>99.63>],> >[>'Mike'>,>17>,>'las vegas'>,>'US'>,>47.28>]]> # Create a DataFrame object> df>=> pd.DataFrame(students,> >columns>=>[>'Name'>,>'Age'>,>'City'>,>'Country'>,>'Agg_Marks'>],> >index>=>[>'a'>,>'b'>,>'c'>,>'d'>,>'e'>,>'f'>])> # here we set Float column 'Agg_Marks' as index of data frame> # using dataframe.set_index() function> df>=> df.set_index(>'Agg_Marks'>)> # Displaying the Data frame> df>

>

>

Output:

 Name Age City Country Agg_Marks 85.96 jack 34 Sydeny Australia 95.20 Riti 30 Delhi India 85.25 Vansh 31 Delhi India 74.21 Nanyu 32 Tokyo Japan 99.63 Maychan 16 New York US 47.28 Mike 17 las vegas US>

I ovenstående eksempel sætter vi kolonnen ' Agg_Marks ' som et indeks for datarammen.

Pandas Dataframe Index Indstilling tre kolonner som Multiindeks

I dette eksempel bruger nedenstående kode Pandas til at oprette en DataFrame 'df' fra elevdata med kolonnerne 'Navn', 'Alder', 'By', 'Land', 'Agg_Marks' og 'ID'. Den anvender funktionen 'set_index()' til at etablere et indeks på flere niveauer ved hjælp af 'Navn', 'By' og 'ID', og viser derefter den resulterende DataFrame.

Python3




# importing pandas library> import> pandas as pd> # creating and initializing a nested list> students>=> [[>'jack'>,>34>,>'Sydeny'>,>'Australia'>,>85.96>,>400>],> >[>'Riti'>,>30>,>'Delhi'>,>'India'>,>95.20>,>750>],> >[>'Vansh'>,>31>,>'Delhi'>,>'India'>,>85.25>,>101>],> >[>'Nanyu'>,>32>,>'Tokyo'>,>'Japan'>,>74.21>,>900>],> >[>'Maychan'>,>16>,>'New York'>,>'US'>,>99.63>,>420>],> >[>'Mike'>,>17>,>'las vegas'>,>'US'>,>47.28>,>555>]]> # Create a DataFrame object> df>=> pd.DataFrame(students,> >columns>=>[>'Name'>,>'Age'>,>'City'>,>'Country'>,>'Agg_Marks'>,>'ID'>],> >index>=>[>'a'>,>'b'>,>'c'>,>'d'>,>'e'>,>'f'>])> # Here we pass list of 3 columns i.e 'Name', 'City' and 'ID'> # to dataframe.set_index() function> # to set them as multiIndex of dataframe> df>=> df.set_index([>'Name'>,>'City'>,>'ID'>])> # Displaying the Data frame> df>

>

>

Output:

 Age Country Agg_Marks Name City ID jack Sydeny 400 34 Australia 85.96 Riti Delhi 750 30 India 95.20 Vansh Delhi 101 31 India 85.25 Nanyu Tokyo 900 32 Japan 74.21 Maychan New York 420 16 US 99.63 Mike las vegas 555 17 US 47.28>

I ovenstående eksempel sætter vi kolonnerne ' Navn ',' By ', og ' ID ' som multiindeks for datarammen.

Pandaer sæt indeks over specifik kolonne

I dette eksempel demonstrerer nedenstående kode, hvordan man bruger Pandas til at oprette en DataFrame, sæt en specifik kolonne ('Navn' i dette tilfælde) som indekset ved hjælp afset_index()>metode, og viser derefter både de originale og ændrede DataFrames. Detinplace=True>parameter sikrer, at ændringerne anvendes direkte på DataFrame uden behov for omtildeling.

Python3




sammenligne med java

import> pandas as pd> # Creating a sample DataFrame> data>=> {>'Name'>: [>'Geek1'>,>'Geek2'>,>'Geek3'>],> >'Age'>: [>25>,>30>,>35>],> >'City'>: [>'New York'>,>'San Francisco'>,>'Los Angeles'>]}> df>=> pd.DataFrame(data)> # Displaying the original DataFrame> print>(>'Original DataFrame:'>)> print>(df)> # Using set_index() to set 'Name' column as the index> df.set_index(>'Name'>, inplace>=>True>)> # Displaying the DataFrame after setting the index> print>(>' DataFrame after set_index:'>)> print>(df)>

>

>

Output:

Original DataFrame: Name Age City 0 Geek1 25 New York 1 Geek2 30 San Francisco 2 Geek3 35 Los Angeles DataFrame after set_index: Age City Name Geek1 25 New York Geek2 30 San Francisco Geek3 35 Los Angeles>