מיון ערכים
חלק מהיחידה נתונים ותרשימים במסלול ה-Machine Learning של Coddy. שיעור 39 מתוך 60.
מי צבר הכי הרבה נקודות? מיון התשובות במבט חטוף. .sort_values("col") מסדר את השורות לפי עמודה, מהקטן לגדול; ascending=False מציב את הגדולים ביותר ראשונים:
players = pd.DataFrame({
"player": ["Ada", "Ben", "Cy", "Dee", "Eli"],
"points": [14, 31, 8, 22, 17],
})
top = players.sort_values("points", ascending=False)
print(top.head(2))כך יודפסו 2 הראשונים:
player points
1 Ben 31
3 Dee 22השורות לקחו איתן את התוויות שלהן: Ben שומר על התווית 1. לכן השורה הראשונה של top היא top.iloc[0], בעוד ש-top.loc[0] היא עדיין Ada.
sort_values מחזירה טבלה חדשה ומשאירה את players כפי שהיה, לכן יש לשמור את התוצאה במשתנה.
אתגר
בינוניחנות אפליקציות מציגה אפליקציות בקובץ apps.csv, עם העמודות app, downloads_k (אלפים) ו-rating. התוכנית קוראת שם של עמודה ומספר n, ואז אמורה להדפיס:
- את
nהשורות עם הערכים הגדולים ביותר בעמודה הזאת, מהגדול לקטן. - את
Lowest:ואת האפליקציה עם הערך הקטן ביותר.
בקוד ההתחלתי יש שתי טעויות במיון. תקן את שתיהן. עבור חנות אחרת, כאשר rating ו-n = 2:
app downloads_k rating
2 PetPal 88 4.9
0 Zipline 512 4.5
Lowest: Mosaicנסו בעצמכם
import pandas as pd
apps = pd.read_csv("apps.csv")
column = input()
n = int(input())
# הקוד הזה מדפיס תשובות שגויות: תקנו אותו
apps.sort_values(column, ascending=False)
print(apps.head(n))
lowest = apps.sort_values(column, ascending=False)
print(f"Lowest: {lowest.iloc[0]['app']}")
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה נתונים ותרשימים
10הצגת נתונים של DataFrame בגרפים
הצגת DataFrame בגרףתרשים פיזור מעמודותצבע אחד לכל קבוצההיסטוגרמה של עמודהסיכום: מכירות בית הקפה5תרשימי קווים ופיזור
תוויות וכותרותתרשימי פיזורכמה קווים ומקראצבעים וסמניםאיורים וציריםסיכום: צעדים שבועיים11מערכי נתונים ללמידת מכונה (ML)
מערכי נתונים מובניםתכונות ותוויותחקירה לפי מחלקההצגת המחלקות בגרףסיכום: מערך הנתונים Wineתרגלו בעצמכם: קומפיילר Python אונליין