Menu
Coddy logo textTech

מיזוג וחיבור

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

בעולם האמיתי, נתונים מגיעים לעיתים קרובות ממספר טבלאות או קבצים. כדי לחבר ולנתח את הנתונים האלה, עלינו להיות מסוגלים לשלב מערכי נתונים. כדי לשלב מסגרות נתונים, אפשר להשתמש ב-.merge(), ב-.join() וב-.concat().

.merge() דומה לפעולת JOIN ב-SQL; היא מחברת בין עמודות או אינדקסים במסגרת נתונים על סמך מפתח אחד או יותר:

merged_df = df1.merge(df2, on='common_column')

לדוגמה, שתי הטבלאות האלה:

IDVALUE
1"val1"
2"val2"
IDPOINTS
19

יהפכו ל:

IDVALUEPOINTS
1"val1"9

הפונקציה .concat() משמשת להוספת שורות ממסגרת נתונים אחת לסוף של מסגרת נתונים אחרת, ומחזירה מסגרת נתונים חדשה. הפעולה הזאת דומה לפעולת 'UNION' ב-SQL:

concatenated_df = pd.concat([df1, df2])
challenge icon

אתגר

קל

קובץ ה-CSV visits.csv מכיל מידע על מספר הביקורים שהתקיימו במיקום מסוים בזמן מסוים.

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

location_id,visits,timestamp
8,1771,27498
9,4187,79919
0,4959,54228
6,7721,41588

חשב את min, max, mean, std, sum ו-median עבור כל מזהה מיקום, ושלב אותם למסגרת נתונים אחת. שנה את שמות העמודות ל:

sum_visits, min_visits, max_visits, mean_visits, std_visits ו-median_visits.

מסגרת הנתונים הסופית אמורה להיראות כך:

location_idsum_visitsmin_visitsmax_visitsmean_visitsstd_visitsmedian_visits
.....................

שמור את התוצאה ב-df.

נסו בעצמכם

# הספרייה pandas כבר יובאה בשם pd
df = pd.read_csv("./visits.csv")
sum_visits = df.groupby("location_id").sum()
min_visits = df.groupby("location_id").min()
max_visits = df.groupby("location_id").max()
mean_visits = df.groupby("location_id").mean()
std_visits = df.groupby("location_id").std()
median_visits = df.groupby("location_id").median()
# כתבו את הקוד שלכם למטה

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

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