اتصال آرایه ها در Numpy
اتصال آرایه ها یعنی اینکه داده های درون دو یا چند آرایه را درون یک آرایه جا بدهیم یا به اصطلاح چند آرایه را متصل کنیم.
برای اتصال آرایه ها به هم ما از تابع ()concatenate استفاده میکنیم:
arr = np.concatenate((arr1, arr2))
حالا وقت آن شده که درباره محور اتصال دو آرایه حرف بزنیم این محور یا axis ربط مستقیمی به ستون و ردیفی دارد که ما قبلا درباره ان در آرایه ها حرف زدیم اتصال عناصر و اعضای یک آرایه میتواند هم به صورت ردیفی و هم بصورت ستونی اتفاق بیوفتد .
مقادیر axis میتواند 0 یا 1 باشد که به معنی ردیفی و ستونی هست اگر مقداری برای ان مشخص نکنیم 0 در نظر گرفته میشود که در مثال بالا این اتفاق افتاد و ما در مثال زیر این اتصال را از محور ستونی انجام میدهیم:
arr = np.concatenate((arr1, arr2), axis=1)
اتصال آرایه ها با Stack در Numpy
تابع ()stack همانند تابع ()concatenate عمل میکند اما یک فرق دارند ()stack برخلاف دیگری تغییری در ساختار آرایه هنگام اتصال آرایه ها ایجاد نمیکند بلکه بعد جدید میسازد و ساختار آرایه هارا حفظ میکند و صرفا عناصر را درون یک آرایه میدهد .
اگر متوجه نشدید نگران نباشید با نگاه کردن به مثال زیر مشکلات و ابهامات شما حل میشود:
"concatenate() اتصال دو آرایه با کمک "
arr = np.concatenate((arr1, arr2))
"stack() اتصال دو آرایه با کمک "
arr = np.stack((arr1, arr2))
اتصال آرایه ها با vstack() در Numpy
ما میتوانیم با کمک انواع مختلفی از stack اتصال هایی همچون concatenate داشته باشیم یعنی بدون ایجاد بعد جدید و صرفا با چسباندن ردیف ها و ستون ها دو یا چند آرایه را متصل کنیم .
این کار برای ردیف ها به کمک ()hstack و برای ستون ها به کمک ()vstack است .
نکته: خروجی هر سه vstack , hstack , concatenate یکسان است اما این دو صرفا در خوانایی و امنیت و دسترسی راحت تر دارند.
در مثال زیر vstack همان axis=1 در concatenate است به معنی اتصال ستونی:
"concatenate() اتصال دو آرایه با کمک "
arr = np.concatenate((arr1, arr2))
"vstack() اتصال دو آرایه با کمک "
arr = np.vstack((arr1, arr2))
اتصال آرایه ها با hstack() در Numpy
حالا که متوجه شدید باید بدانید که hstack برای اتصال ردیفی است و نمایانگر axis=0 در concatenate است با مشاهده مثال زیر متوجه این موضوع میشوید:
"concatenate() اتصال دو آرایه با کمک "
arr = np.concatenate((arr1, arr2))
"hstack() اتصال دو آرایه با کمک "
arr = np.hstack((arr1, arr2))