شکستن (split) آرایهها به آرایههای کوچکتر، بالعکس اتصال (join) آرایههاست. برای شکستن آرایهها از توابع مختلفی میتوان استفاده کرد؛ مهمترین این توابع، تابع array_split است. این تابع، آرایه مد نظر و تعداد splitها را به عنوان آرگومان ورودی دریافت میکند:
1 2 3 4 5 6 7 |
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) newarr = np.array_split(arr, 3) print(newarr) |
اگر آرایه به اندازه کافی عنصر نداشته باشد، باز هم شکستن به درستی صورت میگیرد. به مثال زیر توجه کنید:
1 2 3 4 5 6 7 |
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) newarr = np.array_split(arr, 4) print(newarr) |
توجه: خروجی تابع array_split، یک آرایه است که هر یک از عناصر آن، خود آرایه هستند.
شکستن آرایههای دو بعدی در numpy
مشابه آرایههای یک بعدی، آرایههای دو بعدی را نیز میتوان به آرایههای کوچکتر شکست. در آرایههای دو بعدی، محور نیز میتوان تعریف کرد. به مثالهای زیر توجه کنید:
1 2 3 4 5 6 7 |
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]]) newarr = np.array_split(arr, 3) print(newarr) |
1 2 3 4 5 6 7 |
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]]) newarr = np.array_split(arr, 3, axis=1) print(newarr) |