שינוי צורה
שיעור 9 מתוך 18 בקורס יסודות NumPy של Coddy.
אפשר ליצור מערכים רבי־עוצמה באמצעות המתודה reshape.
התחביר הוא: np.reshape(ary, newshape)
הפעולה reshape משנה את הצורה של המערך. הצורה החדשה היא tuple או רשימה, שמכפלת המספרים שבה חייבת להיות זהה לתוצאת הכפל של הצורה הישנה.
לדוגמה: הצורה הישנה: (2, 5), תוצאת הכפל: 2*5=10, הצורה החדשה יכולה להיות כל צירוף של מספרים כל עוד המכפלה היא 10, כלומר הצורה החדשה יכולה להיות אחת מאלה: (1, 10) , (10, 1) , (5, 2)
דוגמה 1
ary = np.arange(10) # --> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
ary = np.reshape(ary, (5, 2))
>>> [[0, 1],
[2, 3],
[4, 5],
[6, 7],
[8, 9]]דוגמה 2
ary = np.zeros(6) # --> [0., 0., 0., 0., 0., 0.]
ary = np.reshape(ary, (2, 3))
>>> [[0., 0., 0.],
[0., 0., 0.]]דוגמה 3
שינוי הצורה לממדים גבוהים יותר
ary = np.arange(12)
ary = np.reshape(ary, (2, 3, 2))
>>> [[[ 0, 1],
[ 2, 3],
[ 4, 5]],
[[ 6, 7],
[ 8, 9],
[10, 11]]]
אתגר
קלצרו מערך numpy שמכיל איברים עולים מ־1 עד 200 (כולל): [1, 2, 3, 4, 5, 6, ..., 200]
ושנו את צורתו לצורה (20, 10)
נסו בעצמכם
import numpy as np
print(ary)כל השיעורים ביחידה יסודות NumPy
תרגלו בעצמכם: קומפיילר Python אונליין