Pandas Groupby Average

Pandas Groupby Average



כאשר נוסיף שני ערכים או יותר יחד והסכום שלהם מחולק במספר הכולל של ערכים שנוספו יחד, התוצאה היא ממוצע. Pandas Mean מחזירה את הממוצע של הנתונים או הערך לאורך ציר נתון. סדרה עם ממוצע על פני ציר תוחזר על ידי פנדות אם השיטה mean() תיושם על מסגרת נתונים. פנדות מחזירות ערך מספרי (מספר בודד) אם נעשה שימוש ב-'mean()' בסדרה. ניתן להחיל את הפונקציות על הקטגוריות לאחר יצירת קבוצות הקטגוריות. זהו רעיון פשוט אך טכניקה יעילה ביותר המיושמת לעתים קרובות במדעי הנתונים. זה מאפשר לנו ליצור סיכום של הנתונים עבור כל קבוצה, להחיל שינויים ספציפיים לקבוצה ולבצע סינון נתונים. עם הפונקציה groupby() ניתן לחלק את האובייקט, להחיל פונקציה ולאחר מכן לשלב את המוצרים. ניתן לקבץ עם זה מערכי נתונים גדולים וניתן לבצע פעולות על הקבוצות.

כיצד להשתמש בשיטת groupby.mean() בפנדות?

כדי לחשב את הממוצע של מסגרת נתונים או את הממוצע של עמודות ספציפיות של מסגרת נתונים, נוכל להשתמש בפונקציה groupby.mean() . נדגים כיצד להשתמש בו בדוגמאות הבאות.







דוגמה מס' 01: קבע את הממוצע של עמודת מספר שלם בודד על ידי קיבוץ הנתונים של עמודה בודדת

באמצעות הפונקציה pd.DataFrame() ניצור תחילה מסגרת נתונים כדי שנוכל לחלק את הנתונים של העמודה או העמודות של מסגרת הנתונים לקבוצות ולאחר מכן למצוא את הערך הממוצע שלהן. לפני יצירת מסגרת הנתונים, עלינו לייבא את מודול הפנדות יחד עם ספריית numpy.





כפי שניתן לראות, יצרנו את מסגרת הנתונים שלנו באמצעות מילון הפנדות. יש לנו 3 עמודות ב-df dataframe שלנו, כלומר 'פריטים', 'יצרן' ו'כמות'. בעמודה 'פריטים' שמרנו את הערכים ('חולצה', 'עניבה', 'מכנסיים', 'חולצה', 'עניבה', 'מכנסיים', 'חולצה', 'מכנסיים', 'מכנסיים', ' tie'), בעוד שהעמודות 'manufacturer' ו- 'quantity' המכילות את הערכים ('italy', 'france', 'china', 'france', 'china', 'italy', 'china', 'italy', 'צרפת', 'סין') ו-(13, 16, 21, 32, 26, 41, 24, 42, 12, 15) בהתאמה. בואו נקבץ את הערכים בעמודת היצרן ונקבע את ערך הכמות הממוצעת עבור כל יצרן נפרד.





לערך היצרן 'סין' יש ערך כמות ממוצע של 21.5, ערך הכמות הממוצע עבור 'צרפת' הוא 20.0, וערך הכמות הממוצע עבור 'איטליה' הוא 32.0. אנו יכולים גם לציין אינדקס לפלט באמצעות הפונקציה reset_index עם הפונקציה groupby.mean() .



דוגמה מס' 02: מצא את הממוצע של עמודה ציפה בודדת על ידי קיבוץ הנתונים של עמודה בודדת

ראינו כיצד נוכל למצוא את הממוצע של עמודת המספרים השלמים לאחר קיבוץ הנתונים. עכשיו בואו ננסה עמודת סוג נתונים אחרת כמו float. מסגרת נתונים עם עמודה אחת לפחות עם ערכי ציפה תיווצר באמצעות הפונקציה pd.DataFrame() .

על ידי הכנסת מילון בתוך ה-pd.DataFrame(), יצרנו מסגרת נתונים עם שלוש עמודות. העמודה 'שם' מאחסנת את השמות של כמה שחקנים אקראיים ('סם', 'ג'יי', 'ליאו', 'מייק', 'וויל', 'בילי', 'ג'וני', 'לארה', 'חנה', 'טוני'), העמודה 'צוות' המייצגת את הקבוצה ממנה שייך כל שחקן ('A', 'A', 'B',  'A', 'B', 'A', 'C', 'B ', 'C', 'C'), והעמודה 'גובה' מאחסנת את הגבהים של כל שחקן כערך ציפה (5.6, 5.4, 6.3, 5.2, 5.5, 6.4, 5.6, 5.8, 6.0, 5.2). בואו נקבץ את הנתונים בעמודה 'צוות' ונקבע את ערך הגובה הממוצע עבור כל ערך 'צוות' נפרד.

ניתן לראות שערך הגובה הממוצע של שחקני קבוצה A הוא 5.65, בעוד שהגובה הממוצע של שחקנים בקבוצות B ו-C הוא 5.866 ו-5.6, בהתאמה.

דוגמה מס' 03: קבע את הממוצע של עמודות מרובות באמצעות הפונקציה groupby.mean()

בדוגמאות הקודמות, קבענו את הממוצע של עמודה בודדת. עם זאת, ניתן לקבוע גם את הממוצע של עמודות רבות עבור כל קבוצה. בואו ניצור מסגרת נתונים בעלת יותר מעמודה מספרית אחת, לאחר ייבוא ​​הפנדות והמודולים של numpy.

במסגרת הנתונים החדשה שנוצרה, יש שלוש עמודות עם התוויות 'שם', 'ניקוד' ו'התאמה'. שמות העמודות הכוללים את ערכי הנתונים כמחרוזת  ('רון', 'ג'ים', 'דני', 'ג'ים', 'ג'ים', 'דני', 'רון', 'רון', 'דני', 'ג'ים' ), בעוד שה'ניקוד' וה'התאמה' מורכבים מנתונים מספריים כמו (3, 4, 2, 4, 1, 5, 2, 3, 1, 2) ו-(2, 3, 1, 2, 1, 3 , 4, 1, 2, 1). כעת בוא נמצא את הממוצע של 'ציון' העמודה ו'התאמות' לאחר קיבוץ הנתונים של העמודה 'שם'. הפונקציה groupby.mean() תשמש עבור זה.

ניתן לשים לב שלקבוצת 'דני' יש ציון ממוצע של 2.66 ב-2.00 משחקים. לקבוצה ג'ים יש ציון ממוצע של 2.75 והערך הממוצע של משחקים ששיחקו הוא 1.75. בעוד שלקבוצת 'רון' יש ערך ניקוד ממוצע של 2.66 והערך הממוצע של משחקים ששיחקו הוא 2.33.

ניתן לחשב את הממוצע של קבוצת קטגוריות לפי האובייקט גם בשיטת agg() . נספק את הממוצע כארגומנט לפונקציה agg() . כדי לצבור באמצעות פעולות בודדות או מרובות על פני הציר הנתון, אנו יכולים להשתמש בפונקציה agg() .

הפלט זהה לקודם.

דוגמה מס' 04: קבע את הממוצע של עמודות ספציפיות על ידי קיבוץ של עמודות מרובות

בדוגמאות 1, 2 ו-3, קיבצנו את הערכים או הנתונים של עמודה אחת. כעת נקבץ מספר עמודות באמצעות רשימת תוויות העמודות בתוך הפונקציה groupby(), ולאחר מכן נמצא את הערך הממוצע עבור כל קבוצה. מילון 'd' יועבר בתוך הפונקציה pd.Dataframe() כקלט ליצירת ה-dataframe.

יצרנו את מסגרת הנתונים הנדרשת. העמודה 'ספורט' מאחסנת את השם של כמה ענפי ספורט ('בדמינטון', 'כדורגל', 'טניס', 'כדורסל', 'כדורגל', 'טניס', 'כדורסל', 'כדורגל', 'בדמינטון', ' כדורסל', 'כדורסל', 'טניס'), שמות המדינות ('סין', 'רוסיה', 'איטליה', 'ספרד', 'רוסיה', 'איטליה', 'סין', 'איטליה', ' ספרד', 'סין', 'רוסיה', 'איטליה') מאוחסנים בעמודה 'מדינה'. בעוד שבעמודה 'ניצחון' שמרנו את מספר המשחקים שבהם ניצחה כל מדינה בכל ספורט (13, 10, 6, 7, 10, 12, 7, 11, 8, 13, 11, 6). בוא נשתמש בפונקציה groupby.mean() כדי למצוא את הממוצע של ערכי העמודה 'ניצחון' על ידי קיבוץ העמודות 'ספורט' ו'מדינה'.

הפונקציה קבעה בהצלחה את הממוצעים של ערכי העמודות 'זכייה' עבור כל ענף ספורט בארץ. ניתן לאפס את מסגרת הנתונים המקובצת לפי באמצעות הפונקציה reset_index(), אשר גם יוצרת אינדקס חדש, המעניקה לו מבנה מסגרת נתונים מתאים.

מתווסף אינדקס עבור כל שורה של מסגרת נתונים. כדי לסדר את התוצאות בטבלה אטרקטיבית, נוכל גם להשתמש בפונקציה pivot() .

סיכום

במדריך זה, דנו מהו הממוצע או הממוצע של מספרים וכיצד למצוא את הממוצע של עמודה מסוימת (אחת או יותר) לאחר קיבוץ העמודה או העמודות של מסגרת נתונים. יישמנו כמה דוגמאות במאמר זה כדי ללמד אותך כיצד לקבוע את הממוצע של מספר שלם או עמודה ציפה על ידי קיבוץ הנתונים של עמודה בודדת; כיצד לקבוע את הממוצע של עמודות מרובות באמצעות הפונקציה groupby.mean() ; וגם כיצד לקבוע את הממוצע של עמודות ספציפיות על ידי קיבוץ של העמודות המרובות.