Menu
CoddyTech

חלוקה למקטעים של מספרים

חלק מהיחידה סטטיסטיקה ללמידת מכונה במסלול ה-Machine Learning של Coddy. שיעור 54 מתוך 64.

חברת תעופה גובה תשלום על תיק לפי קבוצת המשקל שלו, ולא לפי הגרם. חלוקה לקבוצות ממירה מספרים לטווחים, שנקראים קבוצות, כשחשוב רק הטווח:

ציר מספרים מ-0 עד 32 ק״ג, המחולק בנקודות 7 ו-23 לשלוש קבוצות מוצללות: תא נוסעים, רגילה וכבדה, ובו שישה תיקים המסומנים בנקודות: 5.5 ו-7.0 בתא הנוסעים, 12.4, 18.2 ו-23.0 בקבוצה הרגילה, 30.5 בקבוצה הכבדה

pd.cut מקבלת את הערכים, את הקצוות ותווית אחת לכל סל:

bags = pd.DataFrame({"kg": [5.5, 23.0, 18.2, 30.5, 7.0, 12.4]})
bags["class"] = pd.cut(bags["kg"], bins=[0, 7, 23, 32],
                       labels=["cabin", "standard", "heavy"])
print(bags["class"].value_counts().sort_index())

זה מדפיס:

class
cabin       2
standard    3
heavy       1
Name: count, dtype: int64

כל טווח כולל את הקצה הימני שלו, לכן 7.0 ק״ג עדיין נחשב לכבודת תא הנוסעים, וערך מחוץ לטווחים הופך ל-NaN.

.sort_index() מציגה את התאים בסדר שלהם, מהקל ביותר לראשון.

challenge icon

אתגר

בינוני

גן חיות מחלק את החברים בקובץ members.csv לקבוצות לפי age: child עד גיל 12, teen מגיל 13 עד 17, adult מגיל 18 עד 64, senior מגיל 65 עד 100. התוכנית קוראת group.

  1. הוסיפו את קבוצת הגיל של כל חבר כעמודה בשם group.
  2. הדפיסו את מספר החברים בכל קבוצה, כאשר child מופיעה ראשונה.
  3. הדפיסו את ממוצע visits של הקבוצה שנקראה, עם 2 ספרות אחרי הנקודה העשרונית.

עבור גן חיות קטן יותר והקלט teen:

group
child     1
teen      2
adult     2
senior    1
Name: count, dtype: int64
Mean visits for teen: 10.5

נסו בעצמכם

import pandas as pd

members = pd.read_csv("members.csv")
group = input()

# כתבו את הקוד שלכם למטה
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה סטטיסטיקה ללמידת מכונה

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