Menu
Coddy logo textTech

שינויים מותאמים אישית

שיעור 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)

כדי ללמוד עוד על ההבדל ביניהן, אפשר לקרוא כאן.

 

challenge icon

אתגר

קל

קובץ ה-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

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