Menu
Coddy logo textTech

ניקוי נתונים - נתונים חסרים

שיעור 6 מתוך 19 בקורס ניתוח נתונים עם Pandas של Coddy.

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

נתונים חסרים

כדי לבדוק אם ערך חסר או לא:

df.isna()

כדי לדעת כמה ערכים חסרים יש בכל עמודה:

df.isna().sum()

הפונקציה isna()‎ ממירה את כל הערכים ל-true או ל-false (חסר או לא חסר), ואז מחזירה את התוצאה. sum() מתייחסת ל-true כאל 1 ול-false כאל 0.

כדי לעבור על העמודות ועל מספר הערכים החסרים בהן, השתמשו בשיטה items() בדיוק כמו במילון (אף על פי שמדובר באובייקט series של Pandas):

for column, missing_num in df.isna().sum().items():
	print(column, missing_num)

כדי למלא את כל הערכים החסרים האלה בכל מסגרת הנתונים, השתמשו בשיטה fillna():

df = df.fillna("some value")

כדי למלא ערכים חסרים בעמודה אחת בלבד, השתמשו בפונקציה fillna()‎ עבור עמודה:

df["some_column"] = df["some_column"].fillna("some value")

אפשר גם להסיר את כל השורות שיש בהן ערכים חסרים:

df = df.dropna()
challenge icon

אתגר

קל

קובץ ה-CSV missing.csv מבולגן.

הנה 5 השורות הראשונות בקובץ:

ID,COUNTRY,COLOR,SKILL,SKILL_POINTS,UTILIZATION,IS_VALID
1,France,Signal violet,marksmanship,14,0.1924,1
1,France,Signal violet,marksmanship,14,0.1924,1
2,Solomon Islands,Pearl violet,,4,,1
3,Germany,,calligraphy,12,0.88646,0

נקו את הנתונים:

  • מלאו את הערכים החסרים בכל העמודות שיש בהן יותר מ-2 ערכים חסרים בערך Missing
  • הסירו את כל שאר השורות שיש בהן ערכים חסרים.

כדי לראות את ההתקדמות שלכם, הדפיסו את df: print(df)

שמרו את התוצאה הסופית במשתנה df.
אל תדפיסו את df כדי לעבור את מקרה הבדיקה!

נסו בעצמכם

# pandas as pd כבר יובא
df = pd.read_csv("./missing.csv")
# כתבו את הקוד שלכם למטה

כל השיעורים ביחידה ניתוח נתונים עם Pandas

תרגלו בעצמכם: קומפיילר Python אונליין