שינויים מותאמים אישית
שיעור 13 מתוך 19 בקורס ניתוח נתונים עם Pandas של Coddy.
כדי לבצע שינוי מותאם אישית, השתמשו בשיטה .apply והעבירו לה lambda או function. לדוגמה, כדי למצוא את הריבוע של כל מספר בעמודה:
df['num_squared'] = df['num'].apply(lambda x: x**2)אפשר גם להשיג זאת על ידי הכפלת העמודה בעצמה:
df['num_squared'] = df['num'] * df['num']כדי להוסיף 2 לערך בכל שורה:
df["add_two"] = df['num'].apply(lambda x: x+2)
df["add_two"] = df['num'] + 2כדי להחליף כל ערך ב-Series בערך אחר, השתמשו בשיטה .map והעבירו לה פונקציה, מילון או Series.
לדוגמה, אם נרצה להחליף שמות של פירות בערכים מספריים:
fruits_to_num = {"apple": 1, "mango": 2, "grape": 3}
df["fruits"] = df["fruits"].map(fruits_to_num)הן .map והן .apply יכולות לקבל פונקציות:
df['num_squared'] = df['num'].apply(lambda x: x**2)
df['num_squared'] = df['num'].map(lambda x: x**2)כדי ללמוד עוד על ההבדל ביניהן, אפשר לקרוא כאן.
אתגר
קלקובץ ה-CSV stats.csv מכיל מידע על נתונים סטטיסטיים.
הנה חמש השורות הראשונות בקובץ:
ID,COUNTRY,COLOR,SKILL,SKILL_POINTS,UTILIZATION,IS_VALID,CATEGORY
1,France,Signal violet,marksmanship,14,0.1924,1,SHOW
2,Solomon Islands,Pearl violet,crocheting,4,0.6108,1,TREE
3,Germany,Bottle green,calligraphy,12,0.88646,0,SHOW
4,Mauritania,Fawn brown,paper cutting,9,0.058,1,JAPE- החליפו את הערכים של
CATEGORYבערכים הבאים:{"SHOW": 0, "TREE": 1, "JAPE": 2, "GHUP": 3, "PLQR": 4}. - צרו עמודה חדשה בשם
SKILL_MASTERY. מלאו את העמודה בנוסחה הבאה: הכפילו את הערכים בעמודותSKILL_POINTSו-UTILIZATION. אם התוצאה גדולה מ-5, חלקו אותה ב-4; אחרת, חלקו אותה ב-2. לבסוף, הוסיפו לתוצאה את הערך בעמודהIS_VALID. - מיינו את התוצאה בסדר עולה לפי
SKILL_MASTERY.
אחסנו את התוצאה במשתנה df.
נסו בעצמכם
# pandas כבר יובאה בשם pd
df = pd.read_csv("./stats.csv")
# כתבו את הקוד שלכם למטה
כל השיעורים ביחידה ניתוח נתונים עם Pandas
3מניפולציה של נתונים עם Pandas
החזרת התוצאה המבוקשתסינון נתוניםהוספה ומחיקהשינוי נתוניםשינוי מחרוזותשינויים מותאמים אישיתתרגלו בעצמכם: קומפיילר Python אונליין