Pandas Reindex

Pandas Reindex



„V „pandách“ můžeme ukládat mnoho informací v tabulkové formě, která je také známá jako DataFrame. „Pandy“ nám usnadňují s metodou „DataFrame()“ konstrukci DataFrame. DataFrame obsahuje indexy a můžeme také měnit indexy DataFrame pomocí funkcí „pandy“. Metoda, kterou používáme pro reindexaci DataFrame, je metoda „reindex()“. Tato metoda pomáhá měnit hodnoty indexu řádku i hodnoty indexu sloupců. Pomocí této metody můžeme změnit výchozí index DataFrame a také můžeme změnit index, který jsme nastavili při vytváření DataFrame. Metodu „reindex()“ použijeme v našich příkladech „pandy“ v tomto tutoriálu a tento koncept zde do hloubky vysvětlíme.“

Příklad #01

Nástroj „Spyder“ nám pomáhá při vývoji kódu „pandy“ zde v tomto tutoriálu a náš kód začínáme klíčovým slovem „import“, které nám pomůže při importu funkce „pandy“. Umístíme „pandy jako pd“ po zadání „import“. Poté vytvoříme DataFrame zadáním „pd.DataFrame()“. Toto „pd“ píšeme zde, protože „DataFrame()“ je metoda „pandy“. „value_df“ je název proměnné, ve které je uložen DataFrame. Přidáme „RandomName“, což je název sloupce, a „RandomName“ obsahuje „Thomas, Oscar, Lilly, Rowan, John, Bromley, Peter, Alexander a Samuel“.







Pak máme „Value_1“, do kterého jsme vložili „16, 29, 24, 35, 44, 50, 69, 74 a 88“. Pak přichází „Value_2“ a přidali jsme „25, 38, 42, 56, 54, 65, 78, 89 a 99“. Nyní přichází na řadu „Hodnota_3“ a do ní umístíme „36, 48, 52, 69, 74, 75, 87, 91 a 69“. Následuje sloupec „Value_4“, kam jsme vložili „52, 64, 72, 88, 82, 95, 97, 21 a 39“. Posledním sloupcem je zde sloupec „Hodnota_5“ a do tohoto sloupce jsme přidali hodnoty „66, 78, 82, 99, 34, 45, 57, 61 a 89“. Poté použijeme funkci „print()“, do které je přidáno „Values_df“. Vytiskne se na terminálu.




Po stisknutí „Shift+Enter“ můžeme snadno získat výsledek našich kódů v aplikaci „Spyder“. Zde tento kód vrátí DataFrame s výchozím indexem. Nyní použijeme metodu „reindex()“ pro reindexaci tohoto DataFrame v „pandách“.




Funkce „reindex()“ se zde používá pro přeindexování hodnoty indexu řádku. Ve výše uvedeném DataFrame můžete vidět, že jsou zobrazeny výchozí hodnoty indexu řádku, a nyní používáme metodu „reindex()“ pro přeindexování těchto indexů řádků. Umístíme název DataFrame a poté metodu „reindex()“, do které umístíme ty indexové hodnoty, které chceme přidat do výše uvedeného DataFrame. Do funkce „reindex()“ vložíme „ind_A, ind_B, ind_C, ind_D, ind_E, ind_F, ind_G, ind_H a ind_I“. Takže indexy těchto řádků budou aktualizovány na DataFrame, když spustíme tento kód.






V tomto výsledku jsou zobrazeny hodnoty indexu řádku a můžete si všimnout, že hodnoty DataFrame se zde nezobrazují a objevily se hodnoty „NaN“. Důvodem je, že nové hodnoty indexu neodpovídají předchozím hodnotám indexu DataFrame. Když se nový index a starý index neshodují, zobrazí se tam „Nan“. Tyto hodnoty „NaN“ se zobrazí ve výchozím nastavení, když změníme index, a neodpovídá předchozímu indexu.



Příklad #02

Nyní měníme hodnoty indexu sloupců „Value_df“, které jsme dříve vytvořili v příkladu 1. Po vytištění „Value_df“ jsme vložili proměnnou „column“ a přidali do ní nějaké hodnoty. Přidáme „a_1, b_1, c_1, d_1 a e_1“. Nyní chceme tyto hodnoty upravit jako index sloupců, takže k tomu použijeme metodu „reindex()“ a umístíme název proměnné „column“, do které jsou uloženy nové hodnoty indexu sloupců a také nastavte „osu“ na „sloupce“, takže se aktualizuje index osy sloupce. Metodu „reindex()“ jsme vložili do „print()“, takže se také vykreslí na terminálu.


Protože jsme použili metodu „reindex()“, indexové hodnoty sloupců, které jsou přítomné v prvním DataFrame, jsou aktualizovány a nové hodnoty jsou přidány do aktualizovaného DataFrame. Můžete si také všimnout, že všechny hodnoty DataFrame jsou převedeny na „NaN“, protože obě hodnoty indexu sloupců jsou různé.

Příklad #03

„Programming_data“ v tomto kódu obsahuje „P_Languages“, kam jsme přidali „JavaScript, CSS, Web Engineering, OOP, C#, AI, Java a JavaScript“. Pak máme „Hours“, do kterých umístíme „4_hrs, 2_hrs, 3_hrs, 7_hrs, 6_hrs, 5_hrs, 8_hrs a 6_hrs“. Poté se zadá „P_Code“ a vložíme „11523, 12423, 12321, 11456, 11454, 12267, 13106 a 14123“. Přidáme proměnnou „p_index“ a vložíme „Pro_A, Pro_B, Pro_C, Pro_D, Pro_E, Pro_F, Pro_G a Pro_H“.

Tyto hodnoty budou použity jako indexové hodnoty řádků. Změníme „Programming_data“ v DataFrame „Programming_df“. Do tohoto DataFrame také přidáme „p_index“ pomocí metody „index“. Vložíme „Programming_df“ a poté metodu „index“ a přiřadíme tomu „p_index“. Nyní jsou výše uvedené hodnoty indexu přidány jako hodnoty indexu řádků do DataFrame. Vytiskneme také „Programming_df“.

Poté do proměnné „new_index“ přidáme nějaké nové hodnoty indexu, a to „P_1, P_2, P_3, P_4, P_5, P_6, P_7 a P_8“. Protože chceme aktualizovat hodnoty indexu řádků, použijeme metodu „reindex()“ a jako parametr této funkce vložíme „new_index“ a také uložíme aktualizovaný DataFrame do „newProgramming_df“ a umístíme „newProgramming_df“ do „ print()” pro zobrazení.


Hodnoty indexu jsou aktualizovány a můžeme také říci, že jsme přeindexovali DataFrame, který jsme vytvořili. Všechny hodnoty DataFrame jsou také převedeny na „NaN“, protože obě hodnoty indexu jsou odlišné.

Příklad #04

Aktuálně upravujeme hodnoty indexu sloupců „Programming_df’s“, které jsme dříve vyvinuli v příkladu 3. Umístíme proměnnou „column“ a vložíme do ní nové hodnoty. Do proměnné „sloupec“ jsou přidány „P_Code, P_Languages, Hours, and New“. Poté opět použijeme metodu „reindex()“, ve které nastavíme proměnnou „column“, která aktualizuje předchozí hodnoty indexu sloupců a přidá tyto nové hodnoty indexu sloupců do DataFrame.

Zde si můžete všimnout, že nové hodnoty, které jsme přidali do „sloupce“, jsou stejné, jako jsme přidali do výše uvedeného DataFrame, ale pořadí je jiné, takže změní pořadí sloupců a upraví všechny sloupce tak, jak jsme uvedené v proměnné „sloupec“. Také jsme přidali jednu další hodnotu indexu, která není přítomna ve výše uvedeném DataFrame, což je zde „Nové“, takže hodnoty „NaN“ se zobrazí v tomto sloupci.


Zde se změní pořadí sloupců a všechny hodnoty se zobrazí tak, jak jsou přítomné ve sloupcích původního DataFrame, a sloupec „New“ v aktualizovaném DataFrame obsahuje všechny hodnoty „NaN“, protože tento sloupec není přítomen v původním DataFrame.

Závěr

Představili jsme tento tutoriál, který nám pomáhá podrobně porozumět pojmu „reindex pandy“. Diskutovali jsme o tom, jak můžeme reindexovat sloupec DataFrame i hodnoty indexu řádku. Vysvětlili jsme, že se k tomu používá funkce „reindex()“ funkce „pandy“. Udělali jsme různé příklady, ve kterých jsme změnili hodnoty indexu řádků DataFrame a také hodnoty indexu indexu sloupců DataFrame. Vykreslili jsme výsledky všech kódů, které jsme zde v tomto tutoriálu provedli, a také je do hloubky vysvětlili.