Pandas Reindex

Pandas Reindex



„A „pandákban” sok információt tárolhatunk táblázatos formában, amelyet DataFrame-nek is neveznek. A „pandák” a „DataFrame()” metódussal segítik a DataFrame felépítését. A DataFrame indexeket tartalmaz, és a DataFrame indexeit is megváltoztathatjuk a „pandas” függvények segítségével. A DataFrame újraindexeléséhez használt módszer a „reindex()” módszer. Ez a módszer segít a sor indexértékeinek, valamint az oszlopok indexértékeinek megváltoztatásában. Ezzel a módszerrel megváltoztathatjuk a DataFrame alapértelmezett indexét, valamint megváltoztathatjuk a DataFrame létrehozásakor beállított indexet. Ebben az oktatóanyagban a „pandák” példáiban a „reindex()” módszert fogjuk használni, és itt részletesen elmagyarázzuk ezt a fogalmat.

Példa # 01

A „Spyder” eszköz segít a „pandas” kód fejlesztésében ebben az oktatóanyagban, a kódunkat pedig az „import” kulcsszóval kezdjük, ami segít a „pandas” funkció importálásában. A „pandas as pd” szót az „import” beírása után helyezzük el. Ezt követően létrehozzuk a DataFrame-et a „pd.DataFrame()” beírásával. Azért írjuk ide ezt a „pd”-t, mert a „DataFrame()” a „pandák” metódusa. A „value_df” annak a változónak a neve, amelybe a DataFrame mentve van. Hozzáadjuk a „RandomName”-t, ami az oszlop neve, a „RandomName” pedig a következőket tartalmazza: „Thomas, Oscar, Lilly, Rowan, John, Bromley, Peter, Alexander és Samuel”.







Ezután van „Érték_1”, amelybe beszúrtuk a „16, 29, 24, 35, 44, 50, 69, 74 és 88” értékeket. Ezután jön az „Érték_2”, és hozzáadtuk a „25, 38, 42, 56, 54, 65, 78, 89 és 99” értékeket. Most az „Érték_3” következik, és a „36, 48, 52, 69, 74, 75, 87, 91 és 69” számokat helyezzük el benne. Ezt követően megjelenik az „Érték_4” oszlop, ahol beszúrtuk az „52, 64, 72, 88, 82, 95, 97, 21 és 39” számokat. Az utolsó oszlop itt az „Érték_5” oszlop, és ebben az oszlopban az általunk hozzáadott értékek a következők: „66, 78, 82, 99, 34, 45, 57, 61 és 89”. Ezt követően a „print()” függvényt használjuk, amelyben a „Values_df” hozzáadódik. A terminálra nyomtat.




A „Shift+Enter” megnyomása után a „Spyder” alkalmazásban könnyedén megkaphatjuk a kódjaink eredményét. Itt ez a kód visszaadja a DataFrame-et az alapértelmezett indexszel. Most a „reindex()” metódust alkalmazzuk ennek a DataFrame-nek a „pandákban” történő újraindexeléséhez.




A „reindex()” függvény itt a sor indexértékének újraindexelésére szolgál. A fenti DataFrame-ben láthatja, hogy a sor alapértelmezett indexértékei jelennek meg, és most a „reindex()” metódust alkalmazzuk a sorindexek újraindexelésére. Elhelyezzük a DataFrame nevét, majd a „reindex()” metódust, amelyben elhelyezzük azokat az indexértékeket, amelyeket hozzá szeretnénk adni a fenti DataFrame-hez. A „reindex()” függvénybe betesszük az „ind_A, ind_B, ind_C, ind_D, ind_E, ind_F, ind_G, ind_H és ind_I” kifejezéseket. Tehát ezeknek a soroknak az indexei frissítésre kerülnek a DataFrame-en, amikor ezt a kódot végrehajtjuk.






Ebben az eredményben a sor indexének értékei jelennek meg, és megjegyzendő, hogy a DataFrame értékek itt nem jelennek meg, hanem a „NaN” értékek jelennek meg. Ennek az az oka, hogy az új indexértékek nem egyeznek a DataFrame korábbi indexértékeivel. Ha az új és a régi index nem egyezik, akkor ott a „Nan” felirat jelenik meg. Ezek a „NaN” értékek alapértelmezés szerint megjelennek az index megváltoztatásakor, és az nem egyezik az előző indexszel.



02. példa

Most megváltoztatjuk az „Érték_df” oszlopindex értékeit, amelyeket korábban az 1. példában hoztunk létre. A „Value_df” kinyomtatása után behelyeztük az „oszlop” változót, és hozzáadtunk néhány értéket. Hozzáadjuk az „a_1, b_1, c_1, d_1 és e_1” értékeket. Most ezeket az értékeket szeretnénk beállítani az oszlopok indexeként, ezért ehhez a „reindex()” metódust használjuk, és elhelyezzük a „column” változó nevét, amelyben az új oszlopindex értékeket tároljuk, és állítsa az „tengelyt” „oszlopokra” is, így frissíti az oszloptengely indexét. A „reindex()” metódust a „print()-be” helyezzük, így a terminálon is megjelenik.


Mivel a „reindex()” metódust használtuk, az első DataFrame-ben lévő oszlopindex értékek frissülnek, és új értékek kerülnek hozzáadásra a frissített DataFrame-be. Azt is megjegyezheti, hogy a DataFrame minden értéke „NaN”-re konvertálódik, mivel az oszlopok mindkét indexértéke eltérő.

03. példa

A „Programming_data” ebben a kódban a „P_Languages”-t tartalmazza, ahol hozzáadtuk a „JavaScript, CSS, Web Engineering, OOP, C#, AI, Java és JavaScript” szavakat. Ezután vannak „óráink”, amelyekbe a „4_hrs, 2_hrs, 3_hrs, 7_hrs, 6_hrs, 5_hrs, 8_hrs és 6_hrs” értékeket helyezzük el. Ezután beírjuk a „P_Code”-t, és beszúrjuk az „11523, 12423, 12321, 11456, 11454, 12267, 13106 és 14123” kódokat. Hozzáadjuk a „p_index” változót, és betesszük a „Pro_A, Pro_B, Pro_C, Pro_D, Pro_E, Pro_F, Pro_G és Pro_H” értékeket.

Ezeket az értékeket a rendszer a sorok indexértékeiként fogja használni. Megváltoztatjuk a „Programming_data” értéket a „Programming_df” DataFrame-ben. A „p_index” értéket is hozzáadjuk ehhez a DataFrame-hez az „index” módszerrel. Betesszük a „Programming_df”, majd az „index” metódust, és ehhez rendeljük hozzá a „p_index”-et. Most a fenti indexértékek a sorok indexértékeiként kerülnek hozzáadásra a DataFrame-hez. Kinyomtatjuk a „Programozás_df”-et is.

Ezek után hozzáadunk néhány új indexértéket a „new_index” változóhoz, ezek a „P_1, P_2, P_3, P_4, P_5, P_6, P_7 és P_8”. Mivel frissíteni szeretnénk a sorok indexértékeit, a „reindex()” metódust használjuk, és ennek a függvénynek a „new_index”-et adjuk meg, és a frissített DataFrame-et a „newProgramming_df”-ben tároljuk, a „newProgramming_df”-et pedig a „ print()” megjelenítéséhez.


Az indexértékek frissülnek, és azt is mondhatjuk, hogy újraindexeltük az általunk létrehozott DataFrame-et. A DataFrame minden értéke „NaN”-re is konvertálódik, mivel mindkét indexérték különbözik.

04. példa

Jelenleg az oszlopok „Programozás_df” indexértékeit módosítjuk, amelyeket korábban a 3. példában fejlesztettünk ki. Elhelyezzük az „oszlop” változót és új értékeket szúrunk bele. A „P_Code, P_Languages, Hours és New” hozzáadásra kerül az „oszlop” változóhoz. Ezután ismét a „reindex()” módszert használjuk, amelyben beállítjuk az „oszlop” változót, amely frissíti az előző oszlopindex értékeit, és hozzáadja ezeket az új oszlopindex értékeket a DataFrame-hez.

Itt megjegyezheti, hogy az „oszlopban” hozzáadott új értékek ugyanazok, mint amiket a fenti DataFrame-ben adtunk hozzá, de a sorrend eltérő, ezért megváltoztatja az oszlopok sorrendjét és módosítja az összes oszlopot, ahogy mi az „oszlop” változóban szerepel. Ezenkívül hozzáadunk még egy indexértéket, amely nem szerepel a fenti DataFrame-ben, ami itt „Új”, így a „NaN” értékek jelennek meg ebben az oszlopban.


Itt módosul az oszlopok sorrendje, és minden érték úgy jelenik meg, ahogyan az eredeti DataFrame oszlopaiban szerepel, a frissített DataFrame „New” oszlopa pedig az összes „NaN” értéket tartalmazza, mivel ez az oszlop nem szerepel az eredeti DataFrame-ben.

Következtetés

Bemutattuk ezt az oktatóanyagot, amely segít a „panda reindex” fogalmának részletes megértésében. Megbeszéltük, hogyan tudjuk újraindexelni a DataFrame oszlopát, valamint a sor indexértékeit. Elmagyaráztuk, hogy ehhez a „pandák” „reindex()” funkcióját használják. Különböző példákat készítettünk, amelyekben megváltoztattuk a DataFrame sorainak indexértékeit és a DataFrame oszlopindexének indexértékeit is. Ebben az oktatóanyagban megjelenítettük az összes itt elvégzett kód eredményét, és részletesen elmagyaráztuk őket.