Numpy צור מערך דו-ממדי

Numpy Zwr M Rk Dw Mmdy



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

במילים פשוטות, נוכל להגדיר את המערך הדו-ממדי כמערך בתוך מערך אחר. האינדקס שלו מתחיל ב-'0' ומסתיים בגודל של מערך '-1'. ניתן לבנות מערכים n פעמים בתוך מערכים. מערך דו מימדי יכול לשנות גודל הן אנכית והן אופקית, בשני הכיוונים.

תחביר

התחביר להכרזה על מערך הוא כדלקמן:







array_name = [ r_arr ] [ c_arr ]

array_name הוא השם של המערך שאנו רוצים ליצור. ואילו 'r_arr' הן השורות של המערך ו-'c_arr' היא העמודה של המערך. תחביר זה מאפשר לנו ליצור את מיקום הזיכרון בו יאוחסן המערך, או שנוכל לומר שניתן לשמור את מיקום הזיכרון עבור המערך.



ישנה שיטה נוספת להכריז על מערך דו מימדי:



array_name = [ [ R1C1 , R1C2 , R1C3 , ... ] , [ R2C2 , R2C2 , R2C3 , ... ] , . . .. ]

בתחביר לעיל, שם המערך הוא שם המערך שבו 'R1C1', 'R2C1', ... n הם הרכיבים של המערך שבו 'R' מציין שורות ו-'c' מציין עמודות. כפי שאנו יכולים לראות בסוגריים המרובעים הראשונים, מספר השורות משתנה בעוד העמודות זהות. הסיבה לכך היא שבתוך המערך, אנו מגדירים עמודות באמצעות מערכים מרובים בעוד השורות מוגדרות בתוך המערכים הפנימיים.





דוגמה מס' 01: יצירת מערך דו מימדי

הבה ניתן דוגמה מעשית ליצירת מערך דו-ממדי ונקבל מושג טוב יותר כיצד נוצר מערך דו-ממדי. כדי ליצור מערך דו מימדי, תחילה נייבא את ספריית ה-NumPy שלנו שתאפשר לנו ליישם כמה חבילות ש-NumPy מספקת לנו ליצירת המערך. לאחר מכן, נאתחל משתנה המחזיק את המערך הדו מימדי ליצירת מערך. נעביר את הפונקציה np.array() המאפשרת לנו ליצור כל סוג של מערך בין אם הוא 1D, 2D וכדומה. לפונקציה הזו, נעביר מערכים מרובים בתוך מערך זה המאפשר לנו ליצור מערך דו מימדי.

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



יְבוּא רדום כפי ש לְמָשָׁל

מַעֲרָך = לְמָשָׁל מַעֲרָך ( [ [ 1 , שתיים , 3 , 4 , 5 , 6 ] , [ 4 , 5 , 6 , 7 , 8 , 9 ] , [ 7 , 8 , 9 , 10 , אחד עשר , 12 ] ] )

הדפס ( מַעֲרָך )

בסופו של דבר, הדפסנו את המערך באמצעות הצהרת הדפסה. כפי שמוצג בצילום המסך למטה, אנו יכולים לראות את המערך מוצג המכיל 3 שורות ו-6 עמודות.

דוגמה מס' 02: גישה לערכים

בזמן שלמדנו את השיטה ליצירת מערכים דו-ממדיים, דבר אחד בטח נלחץ במוחנו: כיצד נוכל לגשת לאלמנטים של המערך הדו-ממדי? אמנם הגישה לאלמנט של מערך 2D אינה בעיה גדולה. Numpy מאפשרת לנו לתפעל את הרכיבים של מערכים על ידי שורת קוד פשוטה שהיא:

מַעֲרָך [ אינדקס שורה ] [ אינדקס העמודות ]

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

כפי שאנו יכולים לראות באיור למטה, ייבאנו לראשונה את ספריית NumPy כדי לגשת לחבילות של NumPy. לאחר מכן, הכרזנו על שם המשתנה 'מערך' שמכיל את המערך הדו-ממדי ולאחר מכן העברנו לו את הערכים שאנו רוצים לאחסן בו. תחילה הצגנו את המערך כפי שהוא שאתחלנו. לאחר מכן, העברנו את המערך עם האינדקס למשפט print() שלנו אשר יציג את כל המערך המאוחסן באינדקס '2'. בשורת הקוד הבאה, העברנו שוב את המערך עם שני אינדקסים למשפט print(). הראשונה היא השורה של המערך והשנייה היא העמודה של המערך שהיא '0' ו- '2'.

יְבוּא רדום כפי ש לְמָשָׁל

מַעֲרָך = לְמָשָׁל מַעֲרָך ( [ [ 1 , שתיים , 3 , 4 , 5 , 6 ] , [ 4 , 5 , 6 , 7 , 8 , 9 ] , [ 7 , 8 , 9 , 10 , אחד עשר , 12 ] ] )

הדפס ( 'תצוגת מערך:' , מַעֲרָך )

הדפס ( 'הצג את השורה השנייה:' , מַעֲרָך [ שתיים ] )

הדפס ( 'הצג את רכיב השורה הראשונה ושתי העמודות:' , מַעֲרָך [ 0 ] [ שתיים ] )

הפלט הבא מוחזר בזמן הפעלת מהדר הקוד מדפיס את המערך כפי שהוא. לאחר מכן, השורה השנייה לפי הקוד. לבסוף, המהדר מחזיר את האלמנט המאוחסן באינדקס '0' עבור שורות ואינדקס '2' עבור העמודה.

דוגמה מס' 03: עדכון הערכים

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

כדי לעדכן את הערך, אנו משתמשים:

מַעֲרָך [ row_index ] [ column_index ] = [ ערכים ]

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

כפי שאנו יכולים לראות, אנו מייבאים תחילה את ספריית NumPy שלנו. ואז הכריז על מערך בגודל 3×6 והעביר את ערכי המספרים השלמים שלו. לאחר מכן, העברנו את הערך '21' למערך, כלומר אנחנו רוצים לאחסן את הערך '21' במערך ב-'0' של שורה ו-'2' של עמודה, מה שאומר שאנחנו רוצים לאחסן אותו באינדקס של השורה הראשונה ושל ה-3 מחקר ופיתוח העמודה של המערך. לאחר מכן הדפס את שני המערכים, את המקורי וגם את האלמנט ששמרנו במערך.

יְבוּא רדום כפי ש לְמָשָׁל

מַעֲרָך = לְמָשָׁל מַעֲרָך ( [ [ 1 , שתיים , 3 , 4 , 5 , 6 ] , [ 4 , 5 , 6 , 7 , 8 , 9 ] , [ 7 , 8 , 9 , 10 , אחד עשר , 12 ] ] )

מַעֲרָך [ 0 ] [ שתיים ] = עשרים ואחת

הדפס ( 'תצוגת מערך:' , מַעֲרָך )

הדפס ( 'הצג את רכיב השורה הראשונה ושתי העמודות:' , מַעֲרָך [ 0 ] [ שתיים ] )

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

סיכום

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