logo

NumPy Ndarray

Ndarray הוא אובייקט המערך ה-n-ממדי המוגדר ב-numpy המאחסן את האוסף של אלמנטים מסוג דומה. במילים אחרות, אנו יכולים להגדיר ndarray כאוסף של אובייקטי סוג הנתונים (dtype).

ניתן לגשת לאובייקט ndarray על ידי שימוש באינדקס מבוסס 0. כל רכיב של אובייקט המערך מכיל את אותו גודל בזיכרון.

יצירת אובייקט ndarray

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

 >>> a = numpy.array 

שקול את התמונה למטה.

NumPy Ndarray

אנחנו יכולים גם להעביר אובייקט איסוף לשגרת המערך כדי ליצור את המערך ה-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]) 
NumPy Ndarray

כדי ליצור אובייקט מערך רב מימדי, השתמש בתחביר הבא.

 >>> a = numpy.array([[1, 2, 3], [4, 5, 6]]) 
NumPy Ndarray

כדי לשנות את סוג הנתונים של רכיבי המערך, ציין את שם סוג הנתונים יחד עם האוסף.

ארכיטקטורת מגף אביב
 >>> a = numpy.array([1, 3, 5, 7], complex) 
NumPy Ndarray

מציאת מידות המערך

ה זה אני ניתן להשתמש בפונקציה כדי למצוא את הממדים של המערך.

 >>> import numpy as np >>> arr = np.array([[1, 2, 3, 4], [4, 5, 6, 7], [9, 10, 11, 23]]) >>> print(arr.ndim) 
NumPy Ndarray

מציאת הגודל של כל רכיב מערך

הפונקציה 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 משמשת לעיצוב מחדש של המערך. הוא מקבל את שני הפרמטרים המציינים את השורה והעמודות של הצורה החדשה של המערך.

בואו נעצב מחדש את המערך המופיע בתמונה הבאה.

NumPy 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 מייצג את השורות. אנו יכולים להזכיר את הציר לביצוע חישובים ברמת השורה או ברמת העמודה כמו הוספת רכיבי שורה או עמודה.

NumPy Ndarray

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

דוגמא

 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]]