כיצד לבצע ניקוי נתונים עם Python ו-Pandas

Kyzd Lbz Nyqwy Ntwnym M Python W Pandas



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

ניקוי הנתונים עם Python ו-Pandas

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

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







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



כדי להתחיל, תחילה ודא שהתקינו אצלנו Python ו-Pandas. אנו יכולים לעשות זאת על ידי הקלדת הפקודות במסוף או בשורת הפקודה של המחשב שלנו. כדי ליישם את הקודים המוזכרים במדריך זה, אנו עשויים להשתמש ב-Python Pycharm IDE המותקן על המערכת שלנו או בפלטפורמת Python המקוונת שהיא 'Google Colab' ולהתקין את הפקודות 'pip' כדי להתקין את הספריות החשובות.



כעת, בוא נייבא פנדות ונטען את הנתונים לדוגמה שלנו. עבור דוגמה זו, אנו משתמשים ב-Google Colab כדי להפעיל את הקודים. אז תחילה אנו מייבאים פנדות על ידי הזנת הפקודה הבאה:





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

יְבוּא פנדות כפי ש pd

יְבוּא רדום כפי ש לְמָשָׁל

לאחר מכן, אנו טוענים את מערך הנתונים שאנו רוצים להציג באמצעות שיטת pd.read() אשר לוקחת את נתיב הקובץ כפרמטר הקלט שלו.

# טען את מערך הנתונים

נתונים = pd. read_csv ( '/content/sample_data/california_housing_test.csv' )

# הצג את השורות הראשונות

הדפס ( נתונים. רֹאשׁ ( ) )



בדוגמה הבאה, אנו משתמשים בנתונים על מכירות בחנות קטנה. כדי לטפל בנתונים החסרים, המידע חסר לפעמים בנתונים שלנו. אנו קוראים לחלקים החסרים הללו בשם 'NaN' (שפירושו 'לא מספר'). כדי למצוא את הערכים החסרים הללו בסקריפט של Python, ראשית נטען את ערכת הנתונים כפי שעשינו בדוגמה הקודמת. לאחר מכן, אנו מוצאים ערכים חסרים במערך הנתונים באמצעות הפונקציה 'missing_values ​​= data.isnull().sum()'. פונקציה זו מוצאת את כל הערכים החסרים במערך הנתונים. לאחר מכן, אנו מציגים אותם באמצעות פונקציית ההדפסה ().

! pip להתקין פנדות
יְבוּא פנדות כפי ש pd
יְבוּא רדום כפי ש לְמָשָׁל

# טען את מערך הנתונים
נתונים = pd. read_csv ( '/content/sample_data/california_housing_test.csv' )

# הצג את השורות הראשונות
הדפס ( נתונים. רֹאשׁ ( ) )

# בדוק אם חסרים ערכים
ערכים חסרים = נתונים. הוא ריק ( ) . סְכוּם ( )

# הצג ערכים חסרים ספירה לפי עמודה
הדפס ( ערכים חסרים )

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

כעת, אנו מסירים את הכפילויות שהם עותקים של אותו הדבר כי הם יכולים לבלבל את הניתוח שלנו. כדי למצוא את הערכים הכפולים במערך הנתונים, אנו משתמשים בפונקציה 'duplicate_rows = data[data.duplicated()]'. כדי להוריד את הערכים הכפולים הללו, אנו קוראים לפונקציה data.drop_duplicates()‎. אנו יכולים למצוא ולהסיר אותם באמצעות הקוד הבא:

! pip להתקין פנדות
יְבוּא פנדות כפי ש pd
יְבוּא רדום כפי ש לְמָשָׁל
# טען את מערך הנתונים
נתונים = pd. read_csv ( '/content/sample_data/california_housing_test.csv' )
# הצג את השורות הראשונות
הדפס ( נתונים. רֹאשׁ ( ) )

# בדוק אם יש שורות כפולות
כפילויות_שורות = נתונים [ נתונים. מוּעֲתָק ( ) ]

# הסר כפילויות
נתונים = נתונים. drop_duplicates ( )

# הצג את השורות הראשונות לאחר הסרת כפילויות
הדפס ( נתונים. רֹאשׁ ( ) )

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

! pip להתקין פנדות
יְבוּא פנדות כפי ש pd
יְבוּא רדום כפי ש לְמָשָׁל
# טען את מערך הנתונים
נתונים = pd. read_csv ( '/content/sample_data/california_housing_test.csv' )
# הצג את השורות הראשונות
הדפס ( נתונים. רֹאשׁ ( ) )
# בדוק את סוגי הנתונים של כל עמודה
סוגי מידע = נתונים. dtypes

# הצג סוגי נתונים
הדפס ( סוגי מידע )

אם נמצא בעיות כלשהן, נוכל לשנות את סוג הנתונים באמצעות Pandas. לדוגמה, אנו יכולים להפוך תאריכים לפורמט תאריך. התכונה 'dtypes' של DataFrame מספקת מידע על סוגי הנתונים של כל עמודה. אם נגלה שסוג הנתונים אינו תואם, נוכל להשתמש בפונקציה astype() של Pandas כדי להמיר את העמודות לסוגים הרצויים.

לאחר סוגי הנתונים, אנו נתקלים לפעמים בערכים חריגים שהם ערכים שונים מאוד מהאחרים. הם יכולים לקלקל את החישובים שלנו. כדי להתמודד עם חריגים, אנו מגדירים פונקציה המשתמשת בפונקציית 'np.abs(stats.zscore(data))' z-score אשר משווה את הערכים הקיימים בנתונים שלנו עם ערך הסף. כל ערך מלבד הטווח של סף זה נחשב כחריג . בואו נראה כיצד למצוא ולטפל בנקודות החריגות:

! pip להתקין פנדות
יְבוּא פנדות כפי ש pd
יְבוּא רדום כפי ש לְמָשָׁל

# טען את מערך הנתונים
נתונים = pd. read_csv ( '/content/sample_data/california_housing_test.csv' )

# הצג את השורות הראשונות
הדפס ( נתונים. רֹאשׁ ( ) )
מ מצומצם יְבוּא סטטיסטיקות

def לזהות_חריגים ( נתונים ) :
z_scores = לְמָשָׁל שרירי בטן ( סטטיסטיקות. zscore ( נתונים ) )
לַחֲזוֹר לְמָשָׁל איפה ( z_scores > 3 )

# זיהוי וטיפול בחריגים בעמודה 'מכירות'
חריגים = לזהות_חריגים ( נתונים [ 'קו אורך' ] )
נתונים [ 'קו אורך' ] . מקום [ חריגים ] = נתונים [ 'קו אורך' ] . חֲצִיוֹן ( )

# זיהוי וטיפול בחריגים בעמודה 'יחידות נמכרות'
חריגים = לזהות_חריגים ( נתונים [ 'קו רוחב' ] )
נתונים [ 'קו רוחב' ] . מקום [ חריגים ] = נתונים [ 'קו רוחב' ] . חֲצִיוֹן ( )

# הצג את השורות הראשונות לאחר טיפול בחריגים
הדפס ( נתונים. רֹאשׁ ( ) )

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

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

יְבוּא פנדות כפי ש pd
יְבוּא רדום כפי ש לְמָשָׁל # ייבוא ​​numpy

# טען את הנתונים
נתונים = pd. read_csv ( 'sales_data.csv' )

# גרמו לעמודה 'תאריך' להיראות עקבית
נתונים [ 'תַאֲרִיך' ] = pd. to_datetime ( נתונים [ 'תַאֲרִיך' ] )

# ראה איך זה נראה עכשיו
הדפס ( נתונים. רֹאשׁ ( ) )

בדוגמה זו, אנו מתקנים את פורמט התאריך במערך הנתונים שלנו לפורמט התאריך-שעה של Python באמצעות הפונקציה 'pd.to_datetime(data['Date'])'. על ידי המרת העמודה 'תאריך' לאותו פורמט, אנו מקלים על העבודה עם הנתונים הללו. הפלט מציג את השורות הראשונות של מערך הנתונים עם העמודה הסטנדרטית 'תאריך'.

סיכום

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