Ndarray הוא אובייקט המערך ה-n-ממדי המוגדר ב-numpy המאחסן את האוסף של אלמנטים מסוג דומה. במילים אחרות, אנו יכולים להגדיר ndarray כאוסף של אובייקטי סוג הנתונים (dtype).
ניתן לגשת לאובייקט ndarray על ידי שימוש באינדקס מבוסס 0. כל רכיב של אובייקט המערך מכיל את אותו גודל בזיכרון.
יצירת אובייקט ndarray
ניתן ליצור את אובייקט ndarray באמצעות שגרת המערך של מודול numpy. למטרה זו, עלינו לייבא את ה-numpy.
>>> a = numpy.array
שקול את התמונה למטה.
אנחנו יכולים גם להעביר אובייקט איסוף לשגרת המערך כדי ליצור את המערך ה-n-ממדי המקביל. התחביר ניתן להלן.
>>> numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
הפרמטרים מתוארים בטבלה הבאה.
SN | פָּרָמֶטֶר | תיאור |
---|---|---|
1 | לְהִתְנַגֵד | הוא מייצג את אובייקט האוסף. זה יכול להיות רשימה, טופלה, מילון, סט וכו'. |
2 | dtype | נוכל לשנות את סוג הנתונים של רכיבי המערך על ידי שינוי אפשרות זו לסוג שצוין. ברירת המחדל היא אף אחת. |
3 | עותק | זה אופציונלי. כברירת מחדל, זה נכון מה שאומר שהאובייקט מועתק. |
4 | להזמין | יכולים להיות 3 ערכים אפשריים להקצות לאפשרות זו. זה יכול להיות C (סדר עמודות), R (סדר שורות) או A (כל) |
5 | בָּדוּק | המערך המוחזר יהיה מערך מחלקות בסיס כברירת מחדל. אנו יכולים לשנות זאת כדי לגרום לתתי המחלקות לעבור על ידי הגדרת אפשרות זו כ-true. |
6 | ndmin | הוא מייצג את הממדים המינימליים של המערך שנוצר. |
כדי ליצור מערך באמצעות הרשימה, השתמש בתחביר הבא.
>>> a = numpy.array([1, 2, 3])
כדי ליצור אובייקט מערך רב מימדי, השתמש בתחביר הבא.
>>> a = numpy.array([[1, 2, 3], [4, 5, 6]])
כדי לשנות את סוג הנתונים של רכיבי המערך, ציין את שם סוג הנתונים יחד עם האוסף.
ארכיטקטורת מגף אביב
>>> a = numpy.array([1, 3, 5, 7], complex)
מציאת מידות המערך
ה זה אני ניתן להשתמש בפונקציה כדי למצוא את הממדים של המערך.
>>> import numpy as np >>> arr = np.array([[1, 2, 3, 4], [4, 5, 6, 7], [9, 10, 11, 23]]) >>> print(arr.ndim)
מציאת הגודל של כל רכיב מערך
הפונקציה itemize משמשת כדי לקבל את הגודל של כל פריט מערך. הוא מחזיר את מספר הבתים שנלקח על ידי כל רכיב מערך.
מספר שלם של java למחרוזת
שקול את הדוגמה הבאה.
דוגמא
#finding the size of each item in the array import numpy as np a = np.array([[1,2,3]]) print('Each item contains',a.itemsize,'bytes')
תְפוּקָה:
Each item contains 8 bytes.
מציאת סוג הנתונים של כל פריט מערך
כדי לבדוק את סוג הנתונים של כל פריט מערך, נעשה שימוש בפונקציית dtype. שקול את הדוגמה הבאה כדי לבדוק את סוג הנתונים של פריטי המערך.
דוגמא
#finding the data type of each array item import numpy as np a = np.array([[1,2,3]]) print('Each item is of the type',a.dtype)
תְפוּקָה:
Each item is of the type int64
מציאת הצורה והגודל של המערך
כדי לקבל את הצורה והגודל של המערך, נעשה שימוש בפונקציית הגודל והצורה הקשורה למערך ה-numpy.
שקול את הדוגמה הבאה.
דוגמא
import numpy as np a = np.array([[1,2,3,4,5,6,7]]) print('Array Size:',a.size) print('Shape:',a.shape)
תְפוּקָה:
Array Size: 7 Shape: (1, 7)
עיצוב מחדש של אובייקטי המערך
בצורת המערך, אנו מתכוונים למספר השורות והעמודות של מערך רב-ממדי. עם זאת, מודול numpy מספק לנו את הדרך לעצב מחדש את המערך על ידי שינוי מספר השורות והעמודות של המערך הרב-ממדי.
הפונקציה reshape() המשויכת לאובייקט ndarray משמשת לעיצוב מחדש של המערך. הוא מקבל את שני הפרמטרים המציינים את השורה והעמודות של הצורה החדשה של המערך.
בואו נעצב מחדש את המערך המופיע בתמונה הבאה.
דוגמא
import numpy as np a = np.array([[1,2],[3,4],[5,6]]) print('printing the original array..') print(a) a=a.reshape(2,3) print('printing the reshaped array..') print(a)
תְפוּקָה:
printing the original array.. [[1 2] [3 4] [5 6]] printing the reshaped array.. [[1 2 3] [4 5 6]]
חיתוך במערך
חיתוך במערך NumPy הוא הדרך לחלץ מגוון אלמנטים ממערך. החיתוך במערך מתבצע באותו אופן כפי שהוא מבוצע ברשימת הפיתונים.
תכנות דינמי
שקול את הדוגמה הבאה כדי להדפיס אלמנט מסוים של המערך.
דוגמא
import numpy as np a = np.array([[1,2],[3,4],[5,6]]) print(a[0,1]) print(a[2,0])
תְפוּקָה:
2 5
התוכנית לעיל מדפיסה את ה-2נדאלמנט מה-0ה'אינדקס ו-0ה'אלמנט מה-2נדאינדקס של המערך.
Linspace
הפונקציה linspace() מחזירה את הערכים המרווחים באופן שווה על פני המרווח הנתון. הדוגמה הבאה מחזירה את 10 הערכים המופרדים באופן שווה במרווח הנתון 5-15
דוגמא
import numpy as np a=np.linspace(5,15,10) #prints 10 values which are evenly spaced over the given interval 5-15 print(a)
תְפוּקָה:
[ 5. 6.11111111 7.22222222 8.33333333 9.44444444 10.55555556 11.66666667 12.77777778 13.88888889 15. ]
מציאת המקסימום, המינימום והסכום של רכיבי המערך
ה-NumPy מספק את הפונקציות max(), min() ו-sum() המשמשות למציאת המקסימום, המינימום והסכום של רכיבי המערך בהתאמה.
שקול את הדוגמה הבאה.
דוגמא
import numpy as np a = np.array([1,2,3,10,15,4]) print('The array:',a) print('The maximum element:',a.max()) print('The minimum element:',a.min()) print('The sum of the elements:',a.sum())
תְפוּקָה:
The array: [ 1 2 3 10 15 4] The maximum element: 15 The minimum element: 1 The sum of the elements: 35
NumPy Array Axis
מערך רב ממדי NumPy מיוצג על ידי הציר שבו ציר-0 מייצג את העמודות וציר-1 מייצג את השורות. אנו יכולים להזכיר את הציר לביצוע חישובים ברמת השורה או ברמת העמודה כמו הוספת רכיבי שורה או עמודה.
כדי לחשב את הרכיב המקסימלי בין כל עמודה, את האלמנט המינימלי בכל שורה ותוספת של כל רכיבי השורה, שקול את הדוגמה הבאה.
דוגמא
import numpy as np a = np.array([[1,2,30],[10,15,4]]) print('The array:',a) print('The maximum elements of columns:',a.max(axis = 0)) print('The minimum element of rows',a.min(axis = 1)) print('The sum of all rows',a.sum(axis = 1))
תְפוּקָה:
The array: [[1 2 30] [10 15 4]] The maximum elements of columns: [10 15 30] The minimum element of rows [1 4] The sum of all rows [33 29]
מציאת שורש ריבועי וסטיית תקן
הפונקציות sqrt() ו-std() המשויכות למערך numpy משמשות למציאת השורש הריבועי וסטיית התקן של רכיבי המערך בהתאמה.
סטיית תקן פירושה עד כמה כל רכיב של המערך משתנה מהערך הממוצע של מערך numpy.
שקול את הדוגמה הבאה.
דוגמא
import numpy as np a = np.array([[1,2,30],[10,15,4]]) print(np.sqrt(a)) print(np.std(a))
תְפוּקָה:
איפה הגדרות הדפדפן
[[1. 1.41421356 5.47722558] [3.16227766 3.87298335 2. ]] 10.044346115546242
פעולות אריתמטיות על המערך
מודול numpy מאפשר לנו לבצע את פעולות החשבון על מערכים רב מימדיים ישירות.
בדוגמה הבאה, הפעולות האריתמטיות מבוצעות בשני המערכים הרב-ממדיים a ו-b.
דוגמא
import numpy as np a = np.array([[1,2,30],[10,15,4]]) b = np.array([[1,2,3],[12, 19, 29]]) print('Sum of array a and b ',a+b) print('Product of array a and b ',a*b) print('Division of array a and b ',a/b)
חיבור מערך
ה-numpy מספק לנו את הערימה האנכית והערימה האופקית המאפשרת לנו לשרשר שני מערכים רב מימדיים אנכית או אופקית.
שקול את הדוגמה הבאה.
דוגמא
import numpy as np a = np.array([[1,2,30],[10,15,4]]) b = np.array([[1,2,3],[12, 19, 29]]) print('Arrays vertically concatenated ',np.vstack((a,b))); print('Arrays horizontally concatenated ',np.hstack((a,b)))
תְפוּקָה:
Arrays vertically concatenated [[ 1 2 30] [10 15 4] [ 1 2 3] [12 19 29]] Arrays horizontally concatenated [[ 1 2 30 1 2 3] [10 15 4 12 19 29]]