ניתוח נתונים חקרי (EDA) הוא שלב חיוני בכל פרויקט מדעי הנתונים, שכן הוא מאפשר לנו להבין את הנתונים, לזהות דפוסים ולזהות בעיות אפשריות. במאמר זה, נחקור כיצד להשתמש בשתי ספריות פייתון פופולריות, Pandas ו-Matplotlib, לביצוע EDA. Pandas היא ספריה עוצמתית לתיאוריה וניהול נתונים, ו-Matplotlib היא ספריה רבת השימוש להמחשת נתונים. נכסה את היסודות של הוספת נתונים ל-DataFrame של pandas, חקירת הנתונים באמצעות פונקציות של pandas, ניקוי הנתונים, ולבסוף, המחשת הנתונים באמצעות Matplotlib. עד סוף המאמר הזה, תהיה לך הבנה מוצקה של איך להשתמש ב-Pandas ו-Matplotlib לביצוע EDA ב-Python.
ייבוא ספריות ונתונים
ייבוא ספריות
כדי להשתמש בספריות pandas ו-Matplotlib בקוד Python שלך, עליך לייבא אותם תחילה. אתה יכול לעשות זאת באמצעות הצהרת import
ואחריה את שם הספריה.
python import pandas as pd
import matplotlib.pyplot as plt
בדוגמה זו, אנו מייבאים pandas ומזיזים אותו כ- 'pd', שהוא מוסכם נפוץ בקהילת מדעי הנתונים. אנו גם מייבאים matplotlib.pyplot ומזיזים אותו כ- 'plt'. על ידי ייבוא ספריות אלה, אנו יכולים להשתמש בפונקציות ובשיטות שלהם לעבוד עם נתונים וליצור תיאורים גרפיים.
טעינת נתונים
ברגע שאיבזרת את הספריות הנחוצות, תוכל לטעון את הנתונים לתוך מסד נתונים של pandas באמצעות DataFrame. ל-Pandas מספר שיטות לטעינת נתונים מפורמטים קבצים שונים, כולל CSV, Excel, JSON ועוד. השיטה הנפוצה ביותר היא read_csv
, שקוראת נתונים מקובץ CSV ומחזירה DataFrame.
python# Load data into a pandas DataFrame
data = pd.read_csv('path/to/data.csv')
בדוגמה זו, אנו טוענים נתונים מקובץ CSV הממוקם ב-'path/to/data.csv' ומאחסנים אותו במשתנה בשם 'data'. אתה יכול להחליף את 'path/to/data.csv' בנתיב האמיתי לקובץ הנתונים שלך.
על ידי טעינת נתונים לתוך DataFrame של pandas, אנו יכולים לתפעל ולנתח את הנתונים בקלות באמצעות פונקציות ושיטות של pandas. DataFrame הוא מבנה נתונים דמוי טבלה דו-ממדי המאפשר לנו לעבוד עם נתונים באופן מובנה ומאורגן. הוא מספק פונקציות לבחירה, סינון, קיבוץ, אגרגטורים והדמיה של נתונים.
יצירת תיאוריה של הנתונים
head()
וtail()
הפונקציות head()
ו-tail()
משמשות לצפייה בכמה ראשונות ומשהו אחרונים של הנתונים, בהתאמה. כברירת מחדל, פונקציות אלה מציגות את חמשת השורות הראשונות/האחרונות של הנתונים, אך אפשר לציין מספר שורות שונה כטיעון.
python# View the first 5 rows of the data
print(data.head())
# לצפות בעשר שורות אחרונות של הנתונים
print(data.tail(10))
info()
הפונקציה info()
מספקת מידע על DataFrame, כולל מספר השורות והעמודות, סוגי הנתונים של כל עמודה ומספר הערכים שאינם ריקים. פונקציה זו שימושית לזיהוי ערכים חסרים וקביעת הסוגים המתאימים של הנתונים עבור כל עמודה.
python# Get information about the data
print(data.info())
describe()
פונקציית ה-describe()
מספקת סטטיסטיקות סיכום עבור עמודות מספריות ב-DataFrame, כולל מספר התאים, הממוצע, הסטיית התקן, המינימום, המקסימום והרבעונים. פונקציה זו שימושית לקבלת סקירה מהירה של התפלגות הנתונים.
python# Get summary statistics for the data
print(data.describe())
value_counts()
הפונקציה value_counts()
משמשת לספירת מספר התאמות של כל ערך ייחודי בעמודה. פונקציה זו שימושית לזיהוי התדירות של ערכים ספציפיים בנתונים.
python# Count the number of unique values in a column
print(data['column_name'].value_counts())
אלו רק כמה דוגמאות לפונקציות פנדה שאפשר להשתמש בהן לחקר נתונים. יש דברים נוספים שאפשר להשתמש בהם תלוי בצרכים הספציפיים שלך לחקר נתונים, כמו isnull()
לבדיקת ערכים חסרים, groupby()
לגירסת נתונים לפי עמודה מסוימת, corr()
לחישוב מקדמי מתאם בין עמודות ועוד.
ניקוי נתונים
isnull()
הפונקציה isnull()
משמשת לבדיקת ערכים חסרים או null ב-DataFrame. היא מחזירה DataFrame בצורה זהה למקורית, עם ערכים True במקום שהנתונים חסרים וערכים False במקום שהנתונים קיימים. אפשר להשתמש בפונקציית sum()
לספירת מספר הערכים החסרים בכל עמודה.
python# Check for missing values
print(data.isnull().sum())
dropna()
הפונקציה dropna()
משמשת להסרת שורות או עמודות עם ערכים חסרים או ריקים. כפי שמגדירה הפונקציה הברירת המחדל, היא מסירה כל שורה שמכילה לפחות ערך חסר אחד. אפשר להשתמש בטיעון subset
כדי לציין אילו עמודות לבדוק עבור ערכים חסרים ובטיעון how
כדי לציין האם להוריד שורות עם ערכים חסרים כלשהם או רק שורות שבהן כל הערכים חסרים.
python# Drop rows with missing values
data = data.dropna()
drop_duplicates()
הפונקציה drop_duplicates()
משמשת להסרת שורות כפולות מה-DataFrame. כפי שמגדירה הפונקציה הברירת המחדל, היא מסירה את כל השורות שיש להן אותם ערכים בכל העמודות. אפשר להשתמש בטיעון subset
כדי לציין אילו עמודות לבדוק עבור ערכים כפולים.
python# Drop duplicate rows
data = data.drop_duplicates()
replace()
הפונקציה replace()
משמשת להחלפת ערכים בעמודה עם ערכים חדשים. אפשר לציין את הערך הישן להחלפה ואת הערך החדש להחלפתו. הפונקציה זהירה שימושית לטפל בבעיות איכות נתונים כגון טעויות כתיב או פורמטים לא עקביים.
python# Replace values in a column
data['column_name'] = data['column_name'].replace('old_value', 'new_value')
אלה רק מספר דוגמאות לפונקציות pandas שאפשר להשתמש כדי לנקות נתונים. ישנן פונקציות רבות אחרות שאפשר להשתמש בהן תלוי בצרכים הספציפיים שלך לניקוי נתונים, כגון fillna()
למלא ערכים חסרים עם ערך או שיטה מסוימת, astype()
להמרת סוגי נתונים של עמודות, clip()
לכסות ערכים יתר ועוד.
ניקוי נתונים משחקת תפקיד קרדינלי בהכנת נתונים לניתוח, והפעלה אוטומטית של התהליך יכולה לחסוך זמן ולהבטיח איכות נתונים. חוץ מהפונקציות של פנדה שהוזכרו קודם לכן, טכניקות אוטומציה יכולות להיות מיושמות לקידוד זרימת עבודה של ניקוי נתונים. לדוגמה, אפשר ליצור פונקציות משובצות או צינורות לטפל בערכים חסרים, להוריד כפילויות ולהחליף ערכים במספר נתונים רב. בנוסף, אפשר לנצל טכניקות מתקדמות כמו השמה כדי למלא ערכים חסרים באופן חכם או ביטויים רגולריים כדי לזהות ולתקן פורמטים לא עקביים. על ידי שילוב כוחם של פונקציות פנדה עם אסטרטגיות אוטומציה, אפשר לנקות ולסטנדרטזן נתונים ביעילות, משפרים את האמינות והדיוק של הניתוח האקדמי של הנתונים (EDA).
הדגמת נתונים
הדגמת נתונים היא רכיב קרדינלי במדעי הנתונים, שכן היא מאפשרת לנו לקבל תובנות מהנתונים במהירות ובקלות. Matplotlib היא ספריית Python פופולרית ליצירת מגוון רחב של הדגמות נתונים, כולל גרפים נקודתיים, גרפים קו, גרפים בר, היסטוגרמות, גרפים קופסה ועוד.
הנה כמה דוגמאות לאיך ליצור סוגים אלו של הדגמות באמצעות Matplotlib:
גרף נקודתי
A scatter plot is used to visualize the relationship between two continuous variables. You can create a scatter plot in Matplotlib using the scatter()
function.
python# Create a scatter plot
plt.scatter(data['column1'], data['column2']) plt.xlabel('Column 1') plt.ylabel('Column 2') plt.show()
בדוגמה זו, אנו יוצרים גרף נקודתי עם עמודה1
על ציר ה-x ו-עמודה2
על ציר ה-y. אנו גם מוסיפים תוויות לציר ה-x וציר ה-y באמצעות הפונקציות xlabel()
ו-ylabel()
.
היסטוגרמה
A histogram is used to visualize the distribution of a single continuous variable. You can create a histogram in Matplotlib using the hist()
function.
python# Create a histogram
plt.hist(data['column'], bins=10) plt.xlabel('Column') plt.ylabel('Frequency') plt.show()
בדוגמה זו, אנו יוצרים גרף תיקונים של המשתנה עמודה
עם 10 תיבות. אנו גם מוסיפים תוויות לציר ה-x ולציר ה-y באמצעות הפונקציות xlabel()
ו-ylabel()
.
תרשים תיבות
A box plot is used to visualize the distribution of a single continuous variable and to identify outliers. You can create a box plot in Matplotlib using the boxplot()
function.
python# Create a box plot
plt.boxplot(data['column']) plt.ylabel('Column') plt.show()
בדוגמה זו, אנו יוצרים תרשים תיבה של המשתנה עמודה
. אנו גם מוסיפים תווית לציר ה-y באמצעות הפונקציה ylabel()
.
אלה רק כמה דוגמאות למה שאפשר לעשות עם Matplotlib להמחשת נתונים. יש דרכים ופונקציות רבות אחרות שאפשר להשתמש בהן, תלוי בדרישות הספציפיות של הפרויקט שלך.
מסקנה
ניתוח נתונים חקרי (EDA) הוא שלב קריטי בכל פרויקט מדעי הנתונים, ו-Python מספק כלים עוצמתיים לביצוע EDA ביעילות. במאמר זה למדנו איך להשתמש בשתי ספריות פייתון פופולריות, Pandas ו-Matplotlib, לטעינה, חקירה, ניקוי והמחשת נתונים. Pandas מספק דרך גמישה ויעילה לתיאור וניתוח נתונים, ו-Matplotlib מספק מגוון רחב של אפשרויות ליצירת תיאורים חזותיים. על ידי שימוש בשתי הספריות הללו, אנו יכולים לקבל תובנות מהנתונים במהירות ובקלות. עם המיומנויות והשיטות שלמדתם במאמר זה, אתם יכולים להתחיל לבצע EDA על מערכות הנתונים שלכם ולחשף תובנות בעלות ערך שיכולות לקדם החלטות מבוססות נתונים.
Source:
https://dzone.com/articles/how-to-use-pandas-and-matplotlib-to-perform-explor