פנדות ממלאות ערכי NaN
אם לעמודה במסגרת הנתונים שלך יש ערכי NaN או None, אתה יכול להשתמש בפונקציות 'fillna()' או 'replace()' כדי למלא אותם באפס (0).
למלא()
ערכי NA/NaN מלאים בגישה שסופקה באמצעות הפונקציה 'fillna()'. ניתן להשתמש בו על ידי התחשבות בתחביר הבא:
אם ברצונך למלא את ערכי NaN עבור עמודה בודדת, התחביר הוא כדלקמן:
כאשר אתה נדרש למלא את ערכי NaN עבור DataFrame המלא, התחביר הוא כפי שסופק:
החלף()
כדי להחליף עמודה אחת של ערכי NaN, התחביר שסופק הוא כדלקמן:
בעוד שכדי להחליף את כל ערכי ה-NaN של DataFrame, עלינו להשתמש בתחביר שהוזכר הבא:
בכתבה זו, כעת נחקור ונלמד את היישום המעשי של שתי השיטות הללו למילוי ערכי NaN ב-Pandas DataFrame שלנו.
דוגמה 1: מילוי ערכי NaN באמצעות שיטת Pandas 'Fillna()'.
איור זה מדגים את היישום של פונקציית 'DataFrame.fillna()' של Pandas למילוי ערכי NaN ב-DataFrame הנתון ב-0. אתה יכול למלא את הערכים החסרים בעמודה בודדת או שאתה יכול למלא אותם עבור כל ה-DataFrame. כאן, נראה את שתי הטכניקות הללו.
כדי להפעיל את האסטרטגיות הללו, עלינו להשיג פלטפורמה מתאימה לביצוע התוכנית. אז החלטנו להשתמש בכלי 'ספיידר'. התחלנו את קוד Python שלנו על ידי ייבוא ערכת הכלים 'pandas' לתוכנית מכיוון שעלינו להשתמש בתכונת Pandas כדי לבנות את ה-DataFrame כמו גם כדי למלא את הערכים החסרים באותו DataFrame. ה-'pd' משמש ככינוי של 'פנדות' לאורך התוכנית.
כעת, יש לנו גישה לתכונות של Pandas. אנו משתמשים תחילה בפונקציה 'pd.DataFrame()' שלו כדי ליצור את ה-DataFrame שלנו. הפעלנו את השיטה הזו ואתחול אותה עם שלוש עמודות. הכותרות של עמודות אלו הן 'M1', 'M2' ו-'M3'. הערכים בעמודה 'M1' הם '1', 'ללא', '5', '9' ו-'3'. הערכים ב-'M2' הם 'ללא', '3', '8', '4' ו-'6'. בעוד ה-'M3' מאחסן את הנתונים כ-'1', '2', '3', '5' ו-'None'. אנו דורשים אובייקט DataFrame שבו נוכל לאחסן את ה-DataFrame הזה כאשר קוראים לשיטת 'pd.DataFrame()'. יצרנו אובייקט DataFrame 'חסר' והקצנו אותו לפי התוצאה שקיבלנו מהפונקציה 'pd.DataFrame()'. לאחר מכן, השתמשנו בשיטת 'print()' של Python כדי להציג את ה-DataFrame בקונסולת Python.
כאשר אנו מריצים את גוש הקוד הזה, ניתן לצפות ב-DataFrame עם שלוש עמודות בטרמינל. כאן, אנו יכולים לראות שכל שלוש העמודות מכילות את ערכי האפס בהן.
יצרנו DataFrame עם כמה ערכי null כדי להחיל את הפונקציה 'fillna()' של Pandas כדי למלא את הערכים החסרים ב-0. בואו נלמד איך אנחנו יכולים לעשות זאת.
לאחר הצגת ה-DataFrame, הפעלנו את הפונקציה 'fillna()' של Pandas. כאן, נלמד למלא את הערכים החסרים בעמודה אחת. התחביר לכך מוזכר כבר בתחילת המדריך. סיפקנו את השם של ה-DataFrame וציינו את כותרת העמודה הספציפית עם הפונקציה '.fillna()'. בין הסוגריים של שיטה זו, סיפקנו את הערך שיוכנס במקומות האפסים. שם ה-DataFrame 'חסר' והעמודה שבחרנו כאן היא 'M2'. הערך המסופק בין הסוגרים של ה-'fillna()' הוא '0'. לבסוף, קראנו לפונקציה 'print()' כדי להציג את ה-DataFrame המעודכן.
כאן, אתה יכול לראות שהעמודה 'M2' של ה-DataFrame אינה מכילה ערכים חסרים כעת מכיוון שערך NaN מלא ב-0.
כדי למלא את ערכי NaN עבור DataFrame שלם באותה שיטה, קראנו ל-'fillna()'. זה די פשוט. סיפקנו את שם ה-DataFrame עם הפונקציה 'fillna()' והקצנו את ערך הפונקציה '0' בין הסוגריים. לבסוף, הפונקציה 'print()' הראתה לנו את ה-DataFrame המלא.
זה משיג לנו DataFrame ללא ערכי NaN מכיוון שכל הערכים ממולאים מחדש ב-0 כעת.
דוגמה 2: מילוי ערכי NaN בשיטת Pandas 'Replace()'.
חלק זה של המאמר מדגים שיטה נוספת למילוי ערכי NaN ב-DataFrame. נשתמש בפונקציה 'replace()' של Pandas כדי למלא את הערכים בעמודה בודדת וב-DataFrame שלם.
אנו מתחילים לכתוב את הקוד בכלי 'Spyder'. ראשית, ייבאנו את הספריות הנדרשות. כאן, טענו את ספריית Pandas כדי לאפשר לתוכנית Python להשתמש בשיטות Pandas. הספרייה השנייה שהעלינו היא NumPy וכינויה 'np'. NumPy מטפל בנתונים החסרים בשיטת 'replace()'.
לאחר מכן, יצרנו DataFrame עם שלוש עמודות - 'בורג', 'מסמר' ו'מקדחה'. הערכים בכל עמודה ניתנים בהתאמה. בעמודה 'בורג' יש ערכי '112', '234', 'ללא' ו-'650'. בעמודה 'מסמר' יש '123', '145', 'אין' ו-'711'. לבסוף, העמודה 'תרגיל' מכילה ערכי '312', 'ללא', '500' ו'ללא'. ה-DataFrame מאוחסן באובייקט DataFrame 'כלי' ומוצג בשיטת 'print()'.
ניתן לראות DataFrame עם ארבעה ערכי NaN ברשומה בתמונת הפלט הבאה:
כעת, אנו משתמשים בשיטת Pandas 'replace()' כדי למלא את ערכי האפס בעמודה אחת של ה-DataFrame. עבור המשימה, הפעלנו את הפונקציה 'replace()'. סיפקנו את השם DataFrame 'כלי' ואת העמודה 'בורג' בשיטת '.replace()'. בין הסוגרים שלו, אנו מגדירים את הערך '0' עבור ערכי 'np.nan' ב-DataFrame. שיטת 'print()' משמשת להצגת הפלט.
ה-DataFrame שנוצר מראה לנו את העמודה הראשונה עם ערכי NaN שהוחלפו ב-0 בעמודה 'בורג'.
כעת, נלמד למלא את הערכים בכל ה-DataFrame. קראנו לשיטת 'replace()' בשם ה-DataFrame וסיפקנו את הערך שברצוננו להחליף בערכי np.nan. לבסוף, הדפסנו את ה-DataFrame המעודכן עם הפונקציה 'print()'.
זה מניב לנו את ה-DataFrame שנוצר ללא רשומות חסרות.
סיכום
התמודדות עם הערכים החסרים ב-DataFrame היא מרכיב בסיסי ומהווה דרישה הכרחית להפחתת המורכבות ולטפל בנתונים בהתרסה בתהליך ניתוח הנתונים. Pandas מספקת לנו כמה אפשרויות להתמודד עם בעיה זו. הבאנו שתי אסטרטגיות שימושיות במדריך זה. אנו מיישמים את שתי הטכניקות בעזרת הכלי 'Spyder' כדי לבצע את הקודים לדוגמה כדי להפוך את הדברים לקצת מובנים וקלים יותר עבורך. השגת ידע בפונקציות הללו תחדד את כישורי הפנדות שלך.