Pandas Reindex

Pandas Reindex



'ב'פנדות', אנו יכולים לאחסן מידע רב בצורת טבלה, הידועה גם בשם DataFrame. ה-'pandas' מאפשר לנו להשתמש בשיטת 'DataFrame()' לבניית ה-DataFrame. ה-DataFrame מכיל אינדקסים, ואנחנו יכולים גם לשנות את האינדקסים של ה-DataFrame על ידי שימוש בפונקציות 'פנדות'. השיטה שבה אנו משתמשים לאינדקס מחדש של ה-DataFrame היא שיטת 'reindex()'. שיטה זו מסייעת בשינוי ערכי האינדקס של השורה וכן את ערכי האינדקס של העמודות. על ידי שימוש בשיטה זו, אנו יכולים לשנות את אינדקס ברירת המחדל של ה-DataFrame, וכן, אנו יכולים לשנות את האינדקס שאנו מגדירים בעת יצירת ה-DataFrame. אנו נשתמש בשיטת 'reindex()' בדוגמאות ה'פנדות' שלנו במדריך זה ונסביר את המושג הזה לעומק כאן.'

דוגמה מס' 01

הכלי 'Spyder' עוזר לנו בפיתוח קוד ה'פנדות' כאן במדריך זה, ואנו מתחילים את הקוד שלנו עם מילת המפתח 'ייבוא', שתסייע בייבוא ​​הפונקציה 'פנדות'. אנו מניחים 'פנדות כ-pd' לאחר הקלדת 'ייבוא'. לאחר מכן, אנו יוצרים את ה-DataFrame על ידי הקלדת 'pd.DataFrame()'. אנו כותבים את ה-'pd' הזה כאן מכיוון שה-'DataFrame()' הוא השיטה של ​​'פנדות'. ה-'value_df' הוא שם המשתנה שבו נשמר ה-DataFrame. אנו מוסיפים את 'RandomName', שהוא שם העמודה, וה-'RandomName' מכיל 'תומס, אוסקר, לילי, רואן, ג'ון, ברומלי, פיטר, אלכסנדר וסמואל'.







לאחר מכן, יש לנו את 'Value_1', שבו הכנסנו '16, 29, 24, 35, 44, 50, 69, 74 ו-88'. ואז מגיע 'Value_2', והוספנו '25, 38, 42, 56, 54, 65, 78, 89 ו-99'. כעת, ה-'Value_3' מגיע לאחר מכן, ואנו שמים בו '36, 48, 52, 69, 74, 75, 87, 91 ו-69'. העמודה 'Value_4' קיימת לאחר מכן, שבה הכנסנו '52, 64, 72, 88, 82, 95, 97, 21 ו-39'. העמודה האחרונה היא העמודה 'Value_5' כאן, ובעמודה זו, הערכים שהוספנו הם '66, 78, 82, 99, 34, 45, 57, 61 ו-89'. לאחר מכן, אנו משתמשים בפונקציה 'print()' בה מתווסף 'Values_df' כך. זה יודפס בטרמינל.




לאחר לחיצה על 'Shift+Enter', נוכל לקבל בקלות את התוצאה של הקודים שלנו באפליקציית 'Spyder'. כאן, קוד זה מחזיר את ה-DataFrame עם אינדקס ברירת המחדל. כעת, ניישם את שיטת 'reindex()' לאינדקס מחדש של DataFrame זה ב-'pandas'.




הפונקציה 'reindex()' משמשת כאן לאינדקס מחדש של ערך האינדקס של השורה. ב-DataFrame לעיל, אתה יכול לראות שערכי אינדקס ברירת המחדל של השורה מוצגים, ועכשיו, אנו מיישמים את שיטת 'reindex()' לאינדקס מחדש של אינדקס השורות הללו. אנו שמים את השם של ה-DataFrame ולאחר מכן את שיטת 'reindex()' שבה אנו מניחים את ערכי האינדקס שאנו רוצים להוסיף ל-DataFrame הנ'ל. שמנו 'ind_A, ind_B, ind_C, ind_D, ind_E, ind_F, ind_G, ind_H, ו-ind_I' בפונקציה 'reindex()'. אז, האינדקסים של שורות אלה יתעדכנו ב-DataFrame כאשר אנו מבצעים את הקוד הזה.






הערכים של אינדקס השורה מוצגים בתוצאה זו, ואתה יכול לשים לב שערכי ה-DataFrame אינם מוצגים כאן, וערכי 'NaN' הופיעו. הסיבה לכך היא שערכי האינדקס החדשים אינם תואמים לערכי האינדקס הקודמים של ה-DataFrame. כאשר האינדקס החדש והאינדקס הישן אינם תואמים, הוא מציג שם 'Nan'. ערכי 'NaN' אלו מופיעים כברירת מחדל כאשר אנו משנים את האינדקס, והוא אינו תואם את האינדקס הקודם.



דוגמה מס' 02

כעת אנו משנים את ערכי אינדקס העמודות של 'Value_df', שיצרנו בעבר בדוגמה 1. לאחר הדפסת ה-'Value_df', שמנו את המשתנה 'עמודה' והוספנו לו כמה ערכים. אנו מוסיפים 'a_1, b_1, c_1, d_1 ו-e_1'. כעת, אנו רוצים להתאים את הערכים הללו כאינדקס של העמודות, לכן, לשם כך, אנו משתמשים בשיטת 'reindex()' וממקמים את שם המשתנה 'עמודה' בו מאוחסנים ערכי אינדקס העמודות החדשים. הגדר גם את ה'ציר' ל'עמודות', כך שזה יעדכן את אינדקס ציר העמודה. שמנו את שיטת 'reindex()' ב-'print()', כך שהיא תעבד גם בטרמינל.


מכיוון שהשתמשנו בשיטת 'reindex()', ערכי אינדקס העמודות הקיימים ב-DataFrame הראשון מתעדכנים, וערכים חדשים מתווספים ב-DataFrame המעודכן. אתה יכול גם לשים לב שכל הערכים של ה-DataFrame מומרים ל-'NaN' מכיוון ששני ערכי האינדקס של העמודות שונים.

דוגמה מס' 03

ה-'Programming_data' בקוד זה מכיל 'P_Languages', שם הוספנו 'JavaScript, CSS, Web Engineering, OOP, C#, AI, Java ו-JavaScript'. לאחר מכן, יש לנו 'שעות' שבה אנו שמים את '4_hrs, 2_hrs, 3_hrs, 7_hrs, 6_hrs, 5_hrs, 8_hrs ו-6_hrs'. לאחר מכן, ה-'P_Code' מוזן, ואנו מוסיפים '11523, 12423, 12321, 11456, 11454, 12267, 13106 ו-14123'. אנו מוסיפים את המשתנה 'p_index' ושמים את 'Pro_A, Pro_B, Pro_C, Pro_D, Pro_E, Pro_F, Pro_G ו-Pro_H'.

ערכים אלה ישמשו כערכי האינדקס של השורות. אנו משנים את 'Programming_data' ב-'Programming_df' DataFrame. אנו גם מוסיפים את 'p_index' ל-DataFrame זה באמצעות שיטת 'index'. שמנו את 'Programming_df' ולאחר מכן את שיטת 'index' והקצינו לזה את 'p_index'. כעת, ערכי האינדקס שלעיל מתווספים כערכי אינדקס השורות ל-DataFrame. אנו מדפיסים גם את 'Programming_df'.

לאחר מכן, אנו מוסיפים כמה ערכי אינדקס חדשים במשתנה 'new_index', ואלה הם 'P_1, P_2, P_3, P_4, P_5, P_6, P_7 ו-P_8'. מכיוון שאנו רוצים לעדכן את ערכי האינדקס של שורות, אנו משתמשים בשיטת 'reindex()' ושמים את 'new_index' כפרמטר של פונקציה זו וגם מאחסנים את ה-DataFrame המעודכן ב-'newProgramming_df' וממקמים את ה-'newProgramming_df' ב-' print()' לתצוגה.


ערכי האינדקס מתעדכנים, ואנחנו יכולים גם לומר שעשינו מחדש את ה-DataFrame שיצרנו. כל הערכים של ה-DataFrame מומרים גם ל-'NaN' מכיוון ששני ערכי האינדקס שונים.

דוגמה מס' 04

אנו משנים כעת את ערכי האינדקס 'Programming_df's' של עמודות, שפיתחנו בעבר בדוגמה 3. אנו מניחים את המשתנה 'עמודה' ומכניסים לתוכו ערכים חדשים. ה- 'P_Code, P_Languages, Hours and New' מתווספים למשתנה 'עמודה'. לאחר מכן, אנו שוב משתמשים בשיטת 'reindex()' בה אנו מגדירים את המשתנה 'column', אשר יעדכן את ערכי אינדקס העמודות הקודמים ויוסיף את ערכי אינדקס העמודות החדשים הללו ל-DataFrame.

כאן, אתה יכול לשים לב שהערכים החדשים שהוספנו ב'עמודה' זהים לאלה שהוספנו ב-DataFrame לעיל, אך הרצף שונה, כך שהוא ישנה את רצף העמודות ויתאים את כל העמודות כפי שאנו מוזכר במשתנה 'עמודה'. כמו כן, אנו מוסיפים עוד ערך אינדקס אחד שאינו קיים ב-DataFrame לעיל, שהוא 'חדש' כאן, כך שערכי 'NaN' יופיעו בעמודה זו.


רצף העמודות משתנה כאן, וכל הערכים מופיעים כפי שהם נמצאים בעמודות ה-DataFrame המקורי והעמודה 'New' ב-DataFrame המעודכנת מכילה את כל ערכי ה-'NaN' מכיוון שעמודה זו אינה קיימת ב-DataFrame המקורי.

סיכום

הצגנו מדריך זה שעוזר לנו להבין את המושג 'אינדקס מחדש של הפנדות' בפירוט. דנו כיצד נוכל לאינדקס מחדש את העמודה של DataFrame כמו גם את ערכי האינדקס של השורה. הסברנו שהפונקציה 'reindex()' של 'פנדות' משמשת לשם כך. עשינו דוגמאות שונות שבהן שינינו את ערכי האינדקס של השורות של ה-DataFrame וגם את ערכי האינדקס של אינדקס העמודות של ה-DataFrame. הצגנו את התוצאות של כל הקודים שעשינו כאן במדריך זה וגם הסברנו אותם לעומק.