numpy.random — יצירת מספרים אקראיים¶
תת-המודול numpy.random מספק מחלקת Generator הדוגמת ערכים מהתפלגויות הסתברות נפוצות. האלגוריתם הבסיסי הוא מחולל קונגרואנטי מעורבל (PCG); ראו את https://www.pcg-random.org/ לפרטים.
אובייקט Generator הוא אובייקט עם מצב פנימי: כל קריאה לאחת ממתודות הדגימה שלו מקדמת את המצב הפנימי, כך שקריאות עוקבות מחזירות ערכים בלתי תלויים. מערכי הפלט הם תמיד מסוג dtype numpy.float.
מחלקות¶
- class numpy.random.Generator(seed: int | tuple[int, ...] | None = None)¶
בניית מחולל מספרים פסבדו-אקראיים חדש.
- פרמטרים:
seed – הזרע (seed) המשמש לאתחול מצב המחולל. אם מסופק מספר שלם, הוא משמש ישירות. אם מסופקת רשומת מספרים שלמים (tuple), מוחזרת רשומה של אובייקטי
Generatorעם זרע עצמאי (אחד לכל רכיב) במקום מופע יחיד. אם מסופקNone, נעשה שימוש בזרע ברירת מחדל של הפלטפורמה (כאשר הוגדר כזה בזמן הבנייה); אחרת מתעוררת שגיאתValueError.- מעלה:
TypeError – אם seed אינו
None, אינו מספר שלם ואינו רשומה של מספרים שלמים.ValueError – אם seed הוא
Noneולא הוגדר זרע ברירת מחדל.
- normal(loc: float = 0.0, scale: float = 1.0, size: int | tuple[int, ...] | None = None) float | ndarray¶
דגימת ערכים מהתפלגות נורמלית (גאוסיאנית).
- פרמטרים:
loc – הממוצע (המרכז) של ההתפלגות.
scale – סטיית התקן (הרוחב) של ההתפלגות. חייבת להיות אי-שלילית.
size – צורת הפלט. אם מספר שלם, מוחזר מערך חד-ממדי באורך זה. אם רשומה (tuple), מוחזר מערך בצורה זו. אם
None(ברירת המחדל), מוחזרfloatבודד של Python.
- מחזיר:
או
floatשל Python אוnumpy.ndarrayמסוג float בצורה המבוקשת.- מעלה:
ValueError – אם הצורה המבוקשת חורגת מ-
ULAB_MAX_DIMS.TypeError – אם size אינו
None, אינו מספר שלם ואינו רשומה (tuple).
הערכים נוצרים באמצעות התמרת Box-Muller.
- random(size: int | tuple[int, ...] | None = None, *, out: ndarray | None = None) float | ndarray¶
דגימת ערכים מההתפלגות האחידה על הקטע החצי-פתוח
[0.0, 1.0).- פרמטרים:
size – צורת הפלט. אם מספר שלם, מוחזר מערך חד-ממדי באורך זה. אם רשומה (tuple), מוחזר מערך בצורה זו. אם
None(ברירת המחדל) וגם out הואNone, מוחזרfloatבודד של Python.out –
numpy.ndarrayאופציונלי, מוקצה מראש, דחוס ומסוג float לקבלת הערכים. אם מסופקים גם size וגם out, צורותיהם חייבות להתאים.
- מחזיר:
floatשל Python,numpy.ndarrayחדש, או out (ממולא בערכים) בהתאם לארגומנטים.- מעלה:
TypeError – אם ל-size יש סוג שאינו נתמך, או ש-out אינו ndarray, או ש-out אינו מסוג dtype
float.ValueError – אם הצורה המבוקשת חורגת מ-
ULAB_MAX_DIMS, אם size ו-out.shapeאינם תואמים, או אם out אינו רציף בזיכרון.
- uniform(low: float = 0.0, high: float = 1.0, size: int | tuple[int, ...] | None = None) float | ndarray¶
דגימת ערכים מההתפלגות האחידה על הקטע החצי-פתוח
[low, high).- פרמטרים:
low – החסם התחתון (כולל) של ההתפלגות.
high – החסם העליון (לא כולל) של ההתפלגות.
size – צורת הפלט. אם רשומה (tuple), מוחזר מערך בצורה זו. אם
None(ברירת המחדל), מוחזרfloatבודד של Python הנדגם מתוך[0.0, 1.0)(החסמים low/high מתעלמים מהם במקרה הסקלרי).
- מחזיר:
או
floatשל Python אוnumpy.ndarrayמסוג float בצורה המבוקשת.- מעלה:
ValueError – אם הצורה המבוקשת חורגת מ-
ULAB_MAX_DIMS.TypeError – אם size אינו
Noneואינו רשומה (tuple).
עם ארגומנטי ברירת מחדל זהים,
uniform()מייצרת את אותה סדרה כמוrandom().