מודול numpy של Python מספק פונקציה בשם numpy.average(), המשמשת לחישוב הממוצע המשוקלל לאורך הציר שצוין.
תחביר:
numpy.average(a, axis=None, weights=None, returned=False)
פרמטרים:
x: array_like
פרמטר זה מגדיר את מערך המקור שאת ממוצע האלמנטים שלו אנו רוצים לחשב. ההמרה תבוצע אם 'x' הוא מערך.
ציר: int או None או tuple of ints (אופציונלי)
פרמטר זה מגדיר את הציר שלאורכו יחושב הממוצע. כברירת מחדל, הציר מוגדר ל-None, אשר יחשב את הממוצע של כל האלמנטים של מערך המקור. הספירות מתחילות מהסוף לציר ההתחלה כאשר ערך הציר שלילי.
משקלים: array_like(אופציונלי)
פרמטר זה מגדיר מערך המכיל משקלים המשויכים לערכי המערך. כל ערך של רכיבי מערך יחד יוצר את הממוצע בהתאם למשקל המשויך לו. המערך המשוקלל יכול להיות חד מימדי או בעל צורה זהה למערך הקלט. כאשר אין משקל משויך לרכיב המערך, המשקל יטופל כ-1 עבור כל האלמנטים.
החזירו: bool (אופציונלי)
כברירת מחדל, פרמטר זה מוגדר כ-False. אם אנו מגדירים אותו כ-True, אז תוחזר טופלה של ממוצע וסכום_של_משקלים. אם הוא False, הממוצע מוחזר. הסכום המשוקלל שווה ערך למספר האלמנטים אם אין ערכים למשקולות.
החזרות:
retval, [sum_of_weights]: array_type או כפול
פונקציה זו מחזירה את הממוצע או גם את הממוצע וגם את sum_of_weights התלויים בפרמטר המוחזר.
מעלה:
ZeroDivisionError
שגיאה זו מוגברת כאשר כל המשקולות לאורך הציר מוגדרות לאפס.
טעות הקלדה
שגיאה זו מוגברת כאשר אורך המערך המשוקלל אינו זהה לצורת מערך הקלט.
דוגמה 1:
import numpy as np data = list(range(1,6)) output=np.average(data) data output
תְפוּקָה:
[1, 2, 3, 4, 5] 3.0
בקוד למעלה:
- ייבאנו numpy עם שם הכינוי np.
- יצרנו רשימה של אלמנטים 'נתונים' .
- הכרזנו על המשתנה 'תְפוּקָה' והוקצו את הערך המוחזר של מְמוּצָע() פוּנקצִיָה.
- עברנו את הרשימה 'נתונים' בפונקציה.
- לבסוף, ניסינו להדפיס את 'נתונים' ו 'תְפוּקָה'
בפלט, הוא מציג את הממוצע של רכיבי הרשימה.
דוגמה 2:
import numpy as np output=np.average(range(1,16), weights=range(15,0,-1)) output
תְפוּקָה:
5.666666666666667
דוגמה 3:
import numpy as np data=np.arange(12).reshape((4,3)) output = np.average(data, axis=1, weights=[1./4, 3./4, 5./4]) data output
תְפוּקָה:
array([[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11]]) array([ 1.44444444, 4.44444444, 7.44444444, 10.44444444])
בקוד למעלה:
- ייבאנו numpy עם שם הכינוי np.
- יצרנו מערך 'נתונים' באמצעות arange() ו np.reshape() פוּנקצִיָה.
- הכרזנו על המשתנה 'תְפוּקָה' והוקצו את הערך המוחזר של מְמוּצָע() פוּנקצִיָה.
- עברנו את המערך 'נתונים' , הגדר את הציר ל-1 ומערך משוקלל בפונקציה.
- לבסוף, ניסינו להדפיס את 'נתונים' ו 'תְפוּקָה'
בפלט, הוא מציג את הממוצע של כל רכיבי עמודה במערך.
דוגמה 4:
import numpy as np data=np.arange(12).reshape((4,3)) data np.average(data, weights=[1./4, 3./4, 5./4])
תְפוּקָה:
array([[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11]]) Traceback (most recent call last): File '', line 1, in File 'C:Python27libsite-packages umpylibfunction_base.py', line 406, in average 'Axis must be specified when shapes of data and weights.' TypeError: Axis must be specified when shapes of data and weights differ.