ניקוי נתונים - נתונים חסרים
שיעור 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()אתגר
קלקובץ ה-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
2עבודה עם DataFrame
היכרות עם DataFrameגישה לנתוניםניקוי נתונים - נתונים חסריםניקוי נתונים - כלים נוספים3מניפולציה של נתונים עם Pandas
החזרת התוצאה המבוקשתסינון נתוניםהוספה ומחיקהשינוי נתוניםשינוי מחרוזותשינויים מותאמים אישיתתרגלו בעצמכם: קומפיילר Python אונליין