Pandas Reindex

Pandas Reindex



„V „pandách“ môžeme uložiť veľa informácií v tabuľkovej forme, ktorá je tiež známa ako DataFrame. „Pandy“ nám uľahčujú metódu „DataFrame()“ pri zostavovaní DataFrame. DataFrame obsahuje indexy a môžeme tiež meniť indexy DataFrame pomocou funkcií „pandy“. Metóda, ktorú používame na reindexáciu DataFrame, je metóda „reindex()“. Táto metóda pomáha pri zmene hodnôt indexu riadka, ako aj hodnôt indexu stĺpcov. Použitím tejto metódy môžeme zmeniť predvolený index DataFrame a tiež môžeme zmeniť index, ktorý sme nastavili pri vytváraní DataFrame. Metódu „reindex()“ použijeme v našich príkladoch „pandy“ v tomto návode a tento koncept tu vysvetlíme do hĺbky.“

Príklad #01

Nástroj „Spyder“ nám pomáha pri vývoji kódu „pandy“ tu v tomto návode a náš kód začíname kľúčovým slovom „import“, ktoré nám pomôže pri importe funkcie „pandy“. „Pandy ako pd“ umiestnime po napísaní „import“. Potom vytvoríme DataFrame napísaním „pd.DataFrame()“. Toto „pd“ píšeme tu, pretože „DataFrame()“ je metóda „pandy“. „value_df“ je názov premennej, v ktorej je uložený DataFrame. Pridáme „RandomName“, čo je názov stĺpca, a „RandomName“ obsahuje „Thomas, Oscar, Lilly, Rowan, John, Bromley, Peter, Alexander a Samuel“.







Potom máme „Hodnota_1“, do ktorej sme vložili „16, 29, 24, 35, 44, 50, 69, 74 a 88“. Potom prichádza „Hodnota_2“ a pridali sme „25, 38, 42, 56, 54, 65, 78, 89 a 99“. Teraz nasleduje „Hodnota_3“ a do nej umiestnime „36, 48, 52, 69, 74, 75, 87, 91 a 69“. Za týmto sa nachádza stĺpec „Hodnota_4“, do ktorého sme vložili „52, 64, 72, 88, 82, 95, 97, 21 a 39“. Posledný stĺpec je tu stĺpec „Hodnota_5“ a do tohto stĺpca pridané hodnoty sú „66, 78, 82, 99, 34, 45, 57, 61 a 89“. Potom použijeme funkciu „print()“, do ktorej sa pridá „Values_df“. Vytlačí sa na termináli.




Po stlačení „Shift+Enter“ môžeme ľahko získať výsledok našich kódov v aplikácii „Spyder“. Tu tento kód vráti DataFrame s predvoleným indexom. Teraz použijeme metódu „reindex()“ na preindexovanie tohto DataFrame v „pandách“.




Funkcia „reindex()“ sa tu používa na opätovné indexovanie hodnoty indexu riadka. Vo vyššie uvedenom DataFrame môžete vidieť, že sú zobrazené predvolené hodnoty indexu riadka a teraz používame metódu „reindex()“ na preindexovanie týchto indexov riadkov. Umiestnime názov DataFrame a potom metódu „reindex()“, do ktorej umiestnime tie indexové hodnoty, ktoré chceme pridať do vyššie uvedeného DataFrame. Do funkcie „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 riadkov budú aktualizované v DataFrame, keď spustíme tento kód.






V tomto výsledku sú zobrazené hodnoty indexu riadku a môžete si všimnúť, že hodnoty DataFrame sa tu nezobrazujú a objavili sa hodnoty „NaN“. Je to preto, že nové hodnoty indexu sa nezhodujú s predchádzajúcimi hodnotami indexu DataFrame. Keď sa nový index a starý index nezhodujú, zobrazí sa tam „Nan“. Tieto hodnoty „NaN“ sa predvolene zobrazujú, keď zmeníme index, a nezhoduje sa s predchádzajúcim indexom.



Príklad #02

Teraz meníme hodnoty indexu stĺpca „Value_df“, ktorý sme predtým vytvorili v príklade 1. Po vytlačení „Value_df“ sme vložili premennú „stĺpec“ a pridali do nej nejaké hodnoty. Pridávame „a_1, b_1, c_1, d_1 a e_1“. Teraz chceme tieto hodnoty upraviť ako index stĺpcov, takže na to použijeme metódu „reindex()“ a umiestnime názov premennej „stĺpec“, v ktorej sú uložené nové hodnoty indexu stĺpca a tiež nastavte „os“ na „stĺpce“, takže sa aktualizuje index osi stĺpca. Metódu „reindex()“ vložíme do „print()“, takže sa vykreslí aj na termináli.


Keďže sme použili metódu „reindex()“, hodnoty indexu stĺpcov, ktoré sú prítomné v prvom DataFrame, sa aktualizujú a do aktualizovaného DataFrame sa pridajú nové hodnoty. Môžete si tiež všimnúť, že všetky hodnoty DataFrame sa skonvertujú na „NaN“, pretože obe hodnoty indexu stĺpcov sú odlišné.

Príklad #03

„Programming_data“ v tomto kóde obsahuje „P_Languages“, kam sme pridali „JavaScript, CSS, Web Engineering, OOP, C#, AI, Java a JavaScript“. Potom máme „hodiny“, do ktorých umiestnime „4_hrs, 2_hrs, 3_hrs, 7_hrs, 6_hrs, 5_hrs, 8_hrs a 6_hrs“. Potom sa zadá „P_Code“ a vložíme „11523, 12423, 12321, 11456, 11454, 12267, 13106 a 14123“. Pridáme premennú „p_index“ a vložíme „Pro_A, Pro_B, Pro_C, Pro_D, Pro_E, Pro_F, Pro_G a Pro_H“.

Tieto hodnoty sa použijú ako indexové hodnoty riadkov. Zmeníme „Programming_data“ v DataFrame „Programming_df“. Do tohto DataFrame tiež pridávame „p_index“ pomocou metódy „index“. Vložíme „Programming_df“ a potom metódu „index“ a priradíme tomu „p_index“. Teraz sa vyššie uvedené hodnoty indexu pridajú ako hodnoty indexu riadkov do DataFrame. Vytlačíme aj „Programming_df“.

Potom do premennej „new_index“ pridáme niekoľko nových hodnôt indexu, a to „P_1, P_2, P_3, P_4, P_5, P_6, P_7 a P_8“. Keďže chceme aktualizovať hodnoty indexu riadkov, použijeme metódu „reindex()“ a ako parameter tejto funkcie vložíme „new_index“ a tiež uložíme aktualizovaný DataFrame do „newProgramming_df“ a umiestnime „newProgramming_df“ do „ print()” na zobrazenie.


Hodnoty indexu sú aktualizované a môžeme tiež povedať, že sme preindexovali DataFrame, ktorý sme vytvorili. Všetky hodnoty DataFrame sú tiež konvertované na „NaN“, pretože obe hodnoty indexu sú odlišné.

Príklad #04

Momentálne upravujeme hodnoty indexu stĺpcov „Programming_df’s“, ktoré sme predtým vyvinuli v príklade 3. Umiestnime premennú „stĺpec“ a vložíme do nej nové hodnoty. Do premennej „stĺpec“ sa pridajú „P_Code, P_Languages, Hours, and New“. Potom opäť použijeme metódu „reindex()“, v ktorej nastavíme premennú „column“, ktorá aktualizuje predchádzajúce hodnoty indexu stĺpca a pridá tieto nové hodnoty indexu stĺpca do DataFrame.

Tu si môžete všimnúť, že nové hodnoty, ktoré sme pridali do „stĺpec“, sú rovnaké ako tie, ktoré sme pridali do vyššie uvedeného DataFrame, ale poradie je iné, takže sa zmení poradie stĺpcov a upravia sa všetky stĺpce uvedené v premennej „stĺpec“. Tiež sme pridali jednu ďalšiu hodnotu indexu, ktorá sa nenachádza vo vyššie uvedenom DataFrame, čo je tu „Nové“, takže hodnoty „NaN“ sa zobrazia v tomto stĺpci.


Poradie stĺpcov sa tu zmení a všetky hodnoty sa zobrazia tak, ako sú prítomné v pôvodných stĺpcoch DataFrame a stĺpec „New“ v aktualizovanom DataFrame obsahuje všetky hodnoty „NaN“, pretože tento stĺpec nie je prítomný v pôvodnom DataFrame.

Záver

Predstavili sme tento tutoriál, ktorý nám pomáha podrobne porozumieť pojmu „preindexovanie pandy“. Diskutovali sme o tom, ako môžeme reindexovať stĺpec DataFrame, ako aj hodnoty indexu riadka. Vysvetlili sme, že sa na to používa funkcia „reindex()“ funkcie „pandy“. Urobili sme rôzne príklady, v ktorých sme zmenili indexové hodnoty riadkov DataFrame a tiež indexové hodnoty indexu stĺpcov DataFrame. Vykreslili sme výsledky všetkých kódov, ktoré sme urobili tu v tomto návode, a tiež ich podrobne vysvetlili.