logo

סטיית תקן numpy

מודול numpy של Python מספק פונקציה שנקראת numpy.std() , משמש לחישוב סטיית התקן לאורך הציר שצוין. פונקציה זו מחזירה את סטיית התקן של רכיבי המערך. השורש הריבועי של סטיית הריבוע הממוצעת (מחושב מהממוצע), ידוע בתור סטיית התקן. כברירת מחדל, סטיית התקן מחושבת עבור המערך השטוח. בעזרת ה x.sum()/N , סטיית הריבוע הממוצעת מחושבת בדרך כלל, וכאן, N=len(x).

סטיית תקן=sqrt(mean(abs(x-x.mean( ))**2

תחביר:

 numpy.std(a, axis=None, dtype=None, out=None, ddof=0, keepdims=) 

פרמטרים

a: array_like

פרמטר זה מגדיר את מערך המקור שסטיית התקן שלו מחושבת.

ציר: None, int או tuple of ints (אופציונלי)

זהו הציר שלאורכו מחושבת סטיית התקן. סטיית התקן של המערך השטוח מחושבת כברירת מחדל. אם זה tuple of ints, מבצע סטיית תקן על פני מספר צירים במקום ציר בודד או כל הציר כמו קודם.

dtype: data_type (אופציונלי)

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

מבני שליטה פיתון

החוצה: ndarray (אופציונלי)

פרמטר זה מגדיר את מערך הפלט החלופי בו יש למקם את התוצאה. ל-ndarray החלופי הזה יש את אותה צורה כמו הפלט הצפוי. אבל אנחנו יציקו את הסוג כשצריך.

dof : int (אופציונלי)

כתב כתיבה עבור כל אחד

פרמטר זה מגדיר את דרגות החופש של הדלתא. מחלק N-ddof משמש בחישובים, כאשר N הוא מספר האלמנטים. כברירת מחדל, הערך של פרמטר זה מוגדר ל-0.

keepdims: bool (אופציונלי)

זה אופציונלי, שהערך שלו, כשהוא נכון, ישאיר את הציר המופחת כממדים עם גודל אחד בתוצאה. כאשר הוא יעבור את ערך ברירת המחדל, הוא יאפשר לערכי הלא ברירת מחדל לעבור בשיטה הממוצעת של תת-מחלקות של ndarray, אך ה- keepdims לא יעברו. כמו כן, הפלט או התוצאה ישודרו כנגד מערך הקלט בצורה נכונה.

החזרות

פונקציה זו תחזיר מערך חדש המכיל את סטיית התקן. אם לא נגדיר את הפרמטר 'out' ל-None, הוא מחזיר את ההפניה של מערך הפלט.

דוגמה 1:

 a=np.array([[1,4,7,10],[2,5,8,11]]) b=np.std(a) b 

תְפוּקָה:

 3.391164991562634 

בקוד למעלה

  • ייבאנו numpy עם שם הכינוי np.
  • יצרנו מערך 'a' באמצעות פונקציית array() .
  • הכרזנו על המשתנה 'b' והקצינו את הערך המוחזר של std() פוּנקצִיָה.
  • עברנו את המערך 'a' בפונקציה
  • לבסוף, ניסינו להדפיס את הערך של 'ב' .

בפלט, הוצג מערך המכיל סטיית תקן.

דוגמה 2:

 a=np.array([[1,4,7,10],[2,5,8,11]]) b=np.std(a, axis=0) b 

תְפוּקָה:

 array([0.5, 0.5, 0.5, 0.5]) 

דוגמה 3:

 a=np.array([[1,4,7,10],[2,5,8,11]]) b=np.std(a, axis=1) b 

תְפוּקָה:

 array([3.35410197, 3.35410197]) 

דוגמה 4:

 import numpy as np a = np.zeros((2, 512*512), dtype=np.float32) a[1, :] = 1.0 a[0, :] = 0.1 b=np.std(a) b 

בקוד למעלה

  • ייבאנו numpy עם שם הכינוי np.
  • יצרנו מערך 'a' באמצעות פונקציית np.zeros() עם סוג הנתונים np.float32.
  • הקצינו את הערך 0.1 לאלמנטים של ה-1רחובשורה ו-1.0 לאלמנטים של השורה השנייה.
  • עברנו את המערך 'a' בפונקציה
  • לבסוף, ניסינו להדפיס את הערך של 'ב' .

בפלט הוצגה סטיית התקן, שעלולה להיות לא מדויקת.

תְפוּקָה:

css עבור גלישת טקסט
 0.45000008 

דוגמה 5:

 import numpy as np a = np.zeros((2, 512*512), dtype=np.float32) a[1, :] = 1.0 a[0, :] = 0.1 b=np.std(a ,dtype=np.float64)) b 

תְפוּקָה:

 0.4499999992549418