NumPy Splitting Array
جداسازی آرایههای NumPy
جداسازی عکس عملیات الحاق است. بوسیله عمل الحاق ۲ یا چندین آرایه را به یک آرایه ادغام میکردیم ولی در عمل جداسازی یک آرایه به چندین آرایه شکسته میشود.
آرایه مورد نظر را همراه با تعداد تقسیمات به تابع array_split()
میدهیم. به عنوان مثال در زیر آرایه را به ۳ آرایه دیگر تقسیم کردهایم.
اگر تعداد عناصر آرایه کمتر از آنچه باشد که مورد نیاز است، به صورت خودکار خود را تطبیق میدهد (در صورت لزوم تعداد عناصر آرایههای آخر کمتر خواهد بود).
split()
نیز وجود دارد. ولی این تابع در صورتی که تعداد عناصر مورد نیاز برای شکستن آرایه اصلی به تعداد آرایههای داده شده کافی نباشد، خود را تطبیق نمیدهد. مثلا در کد بالا تابع array_split()
به خوبی جواب داد در حالیکه تابع split()
برای کد بالا با شکست مواجه میشد.
جداسازی به آرایهها
مقدار برگردانده شده توسط array_split()
یک آرایه شامل هر یک از آرایههای جدا شده است. برای دسترسی به هر آرایه دقیقا میتوانید مانند دسترسی به عناصر یک آرایه عمل کنید.
جداسازی آرایههای دو بعدی
دقیقا از همان دستورات گفته شده استفاده کنید.
آرایه مورد نظر را همراه با تعداد تقسیمات به تابع شیء array_split()
بدهید.
چنانکه ملاحظه میکنید خروجی کد بالا یک آرایه شامل سه آرایه دو بعدی است.
بیایید مثال دیگری را بررسی کنیم. این بار هر عنصر آرایه دو بعدی خود شامل سه عنصر است. میخواهیم این آرایه دو بعدی را به ۳ آرایه دو بعدی جداسازی کنیم.
چنانکه ملاحظه میکنید خروجی کد بالا یک آرایه شامل سه آرایه دو بعدی است.
علاوه بر این شما میتوانید محوری که میخواهید جداسازی حول آن انجام شود را نیز مشخص کنید.
مثال زیر هم یک آرایه شامل سه آرایه دو بعدی را برمیگرداند با این تفاوت که جداسازی حول سطرها (1=axis) انجام شده است.
راه حل دیگر استفاده از hsplit()
(متضاد hstack()
) است.
vstack()
و dstack()
به صورت vsplit()
و dsplit()
نیز در دسترس هستند.