מיזוג וחיבור
שיעור 17 מתוך 19 בקורס ניתוח נתונים עם Pandas של Coddy.
בעולם האמיתי, נתונים מגיעים לעיתים קרובות ממספר טבלאות או קבצים. כדי לחבר ולנתח את הנתונים האלה, עלינו להיות מסוגלים לשלב מערכי נתונים. כדי לשלב מסגרות נתונים, אפשר להשתמש ב-.merge(), ב-.join() וב-.concat().
.merge() דומה לפעולת JOIN ב-SQL; היא מחברת בין עמודות או אינדקסים במסגרת נתונים על סמך מפתח אחד או יותר:
merged_df = df1.merge(df2, on='common_column')לדוגמה, שתי הטבלאות האלה:
| ID | VALUE |
| 1 | "val1" |
| 2 | "val2" |
| ID | POINTS |
| 1 | 9 |
יהפכו ל:
| ID | VALUE | POINTS |
| 1 | "val1" | 9 |
הפונקציה .concat() משמשת להוספת שורות ממסגרת נתונים אחת לסוף של מסגרת נתונים אחרת, ומחזירה מסגרת נתונים חדשה. הפעולה הזאת דומה לפעולת 'UNION' ב-SQL:
concatenated_df = pd.concat([df1, df2])אתגר
קלקובץ ה-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_id | sum_visits | min_visits | max_visits | mean_visits | std_visits | median_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
3מניפולציה של נתונים עם Pandas
החזרת התוצאה המבוקשתסינון נתוניםהוספה ומחיקהשינוי נתוניםשינוי מחרוזותשינויים מותאמים אישיתתרגלו בעצמכם: קומפיילר Python אונליין