logo

Python | Pandas DataFrame.set_index()

En aquest article, parlarem de Pandas DataFrame.set_index() a Python. Python destaca com un llenguatge excel·lent per a l'anàlisi de dades, en gran part pel seu ecosistema excepcional de paquets centrats en dades. Entre aquests paquets, Pandes té un paper important en la simplificació d'importació i anàlisi de dades.

Pandas DataFrame.set_index() Sintaxi

Sintaxi: DataFrame.set_index(keys, drop=True, append=False, inplace=False, verifica_integrity=False)

Paràmetres:



  • claus: Nom de columna o una llista de noms de columnes.
  • tirar: Un valor booleà que, si és cert, elimina la columna utilitzada per a l'índex.
  • adjuntar: Si és cert, afegeix la columna especificada a la columna d'índex existent.
  • en el seu lloc: Si és cert, els canvis es fan al mateix DataFrame.
  • verificar_integritat: Si és cert, comprova si hi ha duplicats a la nova columna d'índex.

Què és Pandas DataFrame.set_index()?

El marc de dades Pandas. set_index() El mètode s'utilitza per assignar una llista, una sèrie o un altre marc de dades com a índex d'un marc de dades determinat. És especialment útil quan es combinen diversos marcs de dades, permetent una fàcil modificació de l'índex. Tot i que es pot especificar una columna d'índex durant la creació del marc de dades, set_index() proporciona una manera flexible de canviar l'índex més endavant. En essència, us permet establir una llista, una sèrie o un marc de dades com a índex d'un marc de dades. Però de vegades un marc de dades està format per dos o més marcs de dades i, per tant, l'índex posterior es pot canviar mitjançant aquest mètode.

Per descarregar el fitxer CSV utilitzat, feu clic Aquí.

Pandas DataFrame.set_index() Exemples

A continuació es mostren il·lustracions adequades dels exemples de Pandas DataFrame.set_index().

  • Pandas Estableix l'índex a Columna
  • Columna d'índex múltiple
  • Establiment d'un sol Columna flotant com a índex
  • Configuració tres columnes com Multiíndex
  • Pandas Set Índex de columna específica

Pandas Estableix l'índex a Columna

En aquest exemple, estem canviant la columna d'índex, la columna del nom s'ha convertit en la columna d'índex del marc de dades.

Python 3




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

>

>

Sortida : Abans de l'operació -

Després de l'operació -

Com es mostra a les imatges de sortida, anteriorment la columna d'índex era una sèrie de números, però més tard s'ha substituït per Nom.

commutador java

Pandas Estableix l'índex a la columna d'índex múltiple

En aquest exemple, dues columnes es faran com a columna d'índex. El paràmetre de baixa s'utilitza per deixar anar la columna i el paràmetre d'afegir s'utilitza per afegir columnes passades a la columna d'índex ja existent.

Python 3




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

primavera mvc

>

>

Sortida:

Com es mostra a la imatge de sortida, les dades tenen 3 columnes d'índex.

Pandas Dataframe Index Configuració d'un únic Columna flotant com a índex

En aquest exemple, el fragment de codi següent utilitza la biblioteca Pandas per crear un DataFrame anomenat 'df' a partir d'una llista imbricada de dades d'estudiants. Estableix la columna 'Agg_Marks' com a índex i mostra el DataFrame resultant amb les columnes 'Nom', 'Edat', 'Ciutat' i 'País'.

Python 3




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

>

>

Sortida:

 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>

A l'exemple anterior, establim la columna ' Agg_Marks 'com a índex del marc de dades.

Configuració de l'índex del marc de dades de Pandas tres columnes com Multiíndex

En aquest exemple, el codi següent utilitza Pandas per crear un DataFrame 'df' a partir de les dades dels estudiants, amb columnes 'Nom', 'Edat', 'Ciutat', 'País', 'Marques_Agg' i 'ID'. Utilitza la funció `set_index()` per establir un índex de diversos nivells amb 'Nom', 'Ciutat' i 'ID', i després mostra el DataFrame resultant.

Python 3




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

suprimeix l'últim commit git
>

>

Sortida:

 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>

A l'exemple anterior, establim les columnes ' Nom ‘, ’ ciutat ‘, i ‘ ID ‘ com multiíndex del marc de dades.

Pandas Set Índex de columna específica

En aquest exemple, el codi següent mostra com utilitzar Pandas per crear un DataFrame, establiu una columna específica ('Nom' en aquest cas) com a índex mitjançant elset_index()>mètode i, a continuació, mostra els DataFrames originals i modificats. Elinplace=True>El paràmetre garanteix que els canvis s'apliquen directament al DataFrame sense necessitat de reassignar-los.

Python 3




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

>

>

Sortida:

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>