ניקוי נתונים ללא ספק לוקח המון זמן במדעי הנתונים, ונתונים חסרים הם אחד האתגרים שתתמודדו איתם לעתים קרובות. pandas הוא כלי רב ערך למניפולציה של נתוני Python שעוזר לך לתקן ערכים חסרים במערך הנתונים שלך, בין היתר.

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

1. השתמש בשיטת fillna():

ה fillna() הפונקציה חוזרת דרך מערך הנתונים שלך וממלאת את כל השורות null בערך שצוין. הוא מקבל כמה טיעונים אופציונליים - שימו לב לאלה הבאים:

ערך: זהו הערך שברצונך להוסיף לשורות החסרות.

שיטה: מאפשר לך למלא ערכים חסרים קדימה או לאחור. זה מקבל א 'בפיל' אוֹ 'למלא' פָּרָמֶטֶר.

במקום: זה מקבל הצהרה מותנית. אם נכון, זה משנה את ה-DataFrame לצמיתות. אחרת, זה לא.

לפני שנתחיל, ודא שאתה מתקין פנדות במכשיר שלך סביבה וירטואלית של Python באמצעות צִפצוּף בטרמינל שלך:

pip להתקין פנדות

לאחר מכן, בתוך הסקריפט של Python, ניצור תרגול DataFrame ונוסיף ערכי null (נאן) לתוך כמה שורות:

לייבא פנדות
df = פנדות. DataFrame({'A' :[0, 3, None, 10, 3, None],
instagram viewer

'ב': [ללא, אין, 7.13, 13.82, 7, 7],
'C': [ללא, "Pandas", None, "Pandas", "Python", "JavaScript"]})

קָשׁוּר:כיצד לייבא נתוני Excel לתוך סקריפטים של Python באמצעות פנדה

כעת, בדוק כיצד תוכל למלא את הערכים החסרים הללו באמצעות השיטות השונות הזמינות בפנדות.

שיטה זו כוללת החלפת ערכים חסרים בממוצעים מחושבים. מילוי נתונים חסרים בערך ממוצע או חציוני ישים כאשר העמודות המעורבות כוללות סוגי נתונים שלמים או צפים.

אתה יכול גם למלא נתונים חסרים עם ערך המצב, שהוא הערך המופיע ביותר. זה חל גם על מספרים שלמים או צפים. אבל זה נוח יותר כאשר העמודות המדוברות מכילות מחרוזות.

הנה איך להכניס את הממוצע והחציון לשורות החסרות ב-DataFrame שיצרת קודם לכן:

#כדי להכניס את הערך הממוצע של כל עמודה לשורות החסרות שלה:
df.fillna (df.mean().round (1), inplace=True)
#עבור חציון:
df.fillna (df.median().round (1), inplace=True)
הדפס (df)

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

df['C'].fillna (df['C'].mode()[0], inplace=True)

עם זאת, עדיין ניתן להוסיף את הערך המודאלי של כל עמודה על פני השורות החסרות שלה בבת אחת באמצעות לולאת for:

עבור i ב-df.columns:
df[i].fillna (df[i].mode()[0], inplace=True)
הדפס (df)

אם אתה רוצה להיות ספציפי לעמודה בעת הכנסת הממוצע, החציון או המצב:

df.fillna({"A":df['A'].mean(), 
"B": df['B'].median(),
"C": df['C'].mode()[0]},
inplace=True)
הדפס (df)

מלא שורות Null בערכים באמצעות ffill

זה כולל ציון שיטת המילוי בפנים בתור fillna() פוּנקצִיָה. שיטה זו ממלאת כל שורה חסרה בערך של השורה הקרובה ביותר מעליה.

אתה יכול גם לקרוא לזה מילוי קדימה:

df.fillna (method='ffill', inplace=True)

מלא שורות חסרות בערכים באמצעות bfill

כאן, אתה תחליף את למלא שיטה שהוזכרה לעיל עם bfill. הוא ממלא כל שורה חסרה ב-DataFrame בערך הקרוב ביותר מתחתיה.

זה נקרא מילוי לאחור:

df.fillna (method='bfill', inplace=True)

2. שיטת replace()

אתה יכול להחליף את נאן ערכים בעמודה ספציפית עם הממוצע, החציון, המצב או כל ערך אחר.

קָשׁוּר:פקודות pandas למניפולציה של DataFrames

ראה כיצד זה עובד על ידי החלפת השורות האפסיות בעמודה בעלת שם בממוצע, חציון או מצב שלה:

לייבא פנדות
ייבוא ​​numpy #זה מחייב שהתקנת בעבר את numpy
#החלף את ערכי האפס בממוצע:
df['A'].replace([numpy.nan], df[A].mean(), inplace=True)
#החלף עמודה A בחציון:
df['B'].replace([numpy.nan], df[B].median(), inplace=True)
#השתמש בערך המודאלי עבור עמודה C:
df['C'].replace([numpy.nan], df['C'].mode()[0], inplace=True)
הדפס (df)

3. מלא נתונים חסרים עם interpolate()

ה interpolate() הפונקציה משתמשת בערכים קיימים ב-DataFrame כדי להעריך את השורות החסרות.

הפעל את הקוד הבא כדי לראות איך זה עובד:

#אינטרפולציה לאחור על פני העמודה:
df.interpolate (שיטה ='לינארית', limit_direction ='backward', inplace=True)
#אינטרפולציה בסדר קדימה על פני העמודה:
df.interpolate (שיטה ='לינארית', limit_direction ='forward', inplace=True)

התמודד עם שורות חסרות בזהירות

בעוד ששקלנו רק למלא נתונים חסרים עם ערכי ברירת מחדל כמו ממוצעים, מצב ושיטות אחרות, קיימות טכניקות אחרות לתיקון ערכים חסרים. מדעני נתונים, למשל, לפעמים מסירים את השורות החסרות הללו, בהתאם למקרה.

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

כיצד לצייר גרפים במחברת Jupyter

הצג את הנתונים שלך באמצעות גרפים של Jupyter Notebook.

קרא הבא

לַחֲלוֹקצִיוּץאימייל
נושאים קשורים
  • תִכנוּת
  • פִּיתוֹן
  • תִכנוּת
  • מאגר מידע
על הסופר
Idowu Omisola (125 מאמרים שפורסמו)

Idowu נלהב מכל דבר טכנולוגי ופרודוקטיביות חכמה. בזמנו הפנוי הוא משתעשע בקידוד ועובר ללוח השחמט כשהוא משועמם, אבל הוא גם אוהב להתנתק מהשגרה מדי פעם. התשוקה שלו להראות לאנשים את הדרך סביב הטכנולוגיה המודרנית מניעה אותו לכתוב יותר.

עוד מאת Idowu Omisola

הירשם לניוזלטר שלנו

הצטרף לניוזלטר שלנו לקבלת טיפים טכניים, ביקורות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!

לחץ כאן כדי להירשם