V tomto článku probereme Pandas DataFrame.set_index() v Pythonu. Krajta vyniká jako vynikající jazyk pro analýzu dat, především díky svému vynikajícímu ekosystému balíčků zaměřených na data. Mezi těmito balíčky pandy hraje významnou roli ve zjednodušení importu a analýzy dat.
Syntaxe Pandas DataFrame.set_index().
Syntax: DataFrame.set_index(keys, drop=True, append=False, inplace=False, ověřit_integrity=False)
Parametry:
- klíče: Název sloupce nebo seznam názvů sloupců.
- pokles: Booleovská hodnota, která, pokud je True, zruší sloupec použitý pro index.
- připojit: Pokud je True, připojí zadaný sloupec k existujícímu sloupci indexu.
- na místě: Pokud je True, změny se provedou v samotném DataFrame.
- ověřit_integritu: Pokud je True, zkontroluje nový sloupec indexu, zda neobsahuje duplikáty.
Co je Pandas DataFrame.set_index() ?
Datový rámec Pandas. set_index() Tato metoda se používá k přiřazení seznamu, série nebo jiného datového rámce jako indexu daného datového rámce. Je zvláště užitečné při kombinování více datových rámců, což umožňuje snadnou úpravu indexu. Zatímco sloupec indexu lze zadat během vytváření datového rámce, set_index() poskytuje flexibilní způsob pozdější změny indexu. V podstatě vám umožňuje nastavit seznam, řadu nebo datový rámec jako index datového rámce. Ale někdy je datový rámec vytvořen ze dvou nebo více datových rámců, a proto lze pozdější index změnit pomocí této metody.
Chcete-li stáhnout použitý soubor CSV, klikněte na Tady.
Pandas DataFrame.set_index() Příklady
Níže jsou uvedeny správné ilustrace příkladů pro Pandas DataFrame.set_index().
- Pandy Nastavit Index na Sloupec
- Vícenásobný indexový sloupec
- Nastavení singlu Plovoucí sloupec jako Index
- Nastavení tři sloupce tak jako MultiIndex
- Pandas Set Index konkrétního sloupce
Pandy Nastavit Index na Sloupec
V tomto příkladu měníme sloupec indexu, sloupec Jméno se stal sloupcem indexu datového rámce.
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()> |
>
>
Výstup : Před operací -
Po operaci -
Jak je znázorněno na výstupních obrázcích, dříve byl sloupec indexu řadou čísel, ale později byl nahrazen křestním jménem.
Pandy Nastavit index na vícenásobný indexový sloupec
V tomto příkladu budou dva sloupce vytvořeny jako indexový sloupec. Parametr Drop se používá k zrušení sloupce a parametr append se používá k připojení předaných sloupců k již existujícímu sloupci indexu.
Python3
jak převést řetězec na int v java
# 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()> |
>
>
Výstup:
Jak je znázorněno na výstupním obrázku, data mají 3 indexové sloupce.
Pandas Dataframe Index Nastavení jednoho Plovoucí sloupec jako Index
V tomto příkladu níže uvedený fragment kódu používá knihovnu Pandas k vytvoření DataFrame s názvem „df“ z vnořeného seznamu dat studentů. Nastaví sloupec „Agg_Marks“ jako index a zobrazí výsledný DataFrame se sloupci „Jméno“, „Věk“, „Město“ a „Země“.
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> |
>
>
Výstup :
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>
Ve výše uvedeném příkladu nastavíme sloupec „ Agg_Marks “ jako index datového rámce.
Nastavení indexu datového rámce Pandas tři sloupce tak jako MultiIndex
V tomto příkladu níže uvedený kód využívá Pandas k vytvoření DataFrame ‚df‘ z dat studentů se sloupci ‚Jméno‘, ‚Věk‘, ‚Město‘, ‚Země‘, ‚Agg_Marks‘ a ‚ID‘. Využívá funkci `set_index()` k vytvoření víceúrovňového indexu pomocí ‚Name‘, ‚City‘ a ‚ID‘ a poté zobrazí výsledný 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> |
>
>
Výstup :
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>
Ve výše uvedeném příkladu nastavíme sloupce „ název ', ' Město ', a ' ID “ jako multiIndex datového rámce.
Pandas Set Index konkrétního sloupce
V tomto příkladu níže uvedený kód ukazuje, jak použít Pandas k vytvoření DataFrame, nastavení konkrétního sloupce (v tomto případě ‚Name‘) jako indexu pomocíset_index()>
a poté zobrazí původní i upravené DataFrames. Theinplace=True>
Parametr zajišťuje, že změny jsou aplikovány přímo na DataFrame bez nutnosti opětovného přiřazení.
Python3
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)> |
>
>
Výstup :
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>