در حال بارگزاری

آموزش تابع concatenate در numpy پایتون

شما اینجا هستید:
آموزش تابع concatenate در numpy پایتون

آموزش تابع concatenate در numpy پایتون

تابع concatenate در numpy پایتون میاد دو آرایه رو به هم میچسبوونه (وصل میکنه، کنار هم میذاره!) که در این آموزش به صورت کامل و با مثال به بررسی این تابع می‌پردازیم!

مثال 1: متصل کردن با axis=0 !

اگر تیتر براتون عجیب غریب به نظر میرسه نگران نباشید! تا لحظاتی دیگه براتون رفع ابهام می‌کنیم!

اول قطعه کد زیر رو در نظر بگیرید!

import numpy as np
a=np.array([
    [1,2],
    [3,4]
])
b=np.array([
    [5,6]
])
result=np.concatenate(  (a,b),axis=0  )
print(result)

در خط 1 که مثل همه‌ی آموزش‌های قبلی پکیج یا کتابخانه numpy را با اسم مستعار np وارد برنامه می‌کنیم!

در خط 2 تا 5، یک آرایه 2 در 2 میسازیم به اسم a! (پیش‌نیاز: آموزش نحوه ساخت آرایه در numpy پایتون که در جلسات ابتدایی گفتیم!)

در خط 6 تا 8 هم یک آرایه 1 در 2 دیگه می‌سازیم به اسم b!

حالا می‌خوایم این ها رو به هم وصل کنیم و بذاریم کنار هم! یعنی اون آرایه b رو بذاریم زیر a ! (یعنی به صورت سطری بهش اضافه کنیم! یعنی در ادامه سایر سطرهای a، بیایم b رو قرار بدیم!) برای این هدف در خط 9، اومدیم a و b رو رو به هم وصل می‌کنیم و میذاریم کنار هم (اون concatenate کارش همینه!)

شاید بپرسید اون np چیه؟! (اگر آموزش‌های قبلی رو ندیده باشید باید این سوال رو بپرسید! اون np در واقع مخفف همون numpy است! که گفتیم numpy رو با اسم مستعار np اومدیم وارد برنامه کردیم! و حالا میگیم از پکیج numpy (همون np یعنی numpy) بیا از تابعی به اسم concatenate استفاده کن واسه کنارهم قراردادن و وصل کردن a و b !)

سوال بعدی اینه که اون axis=0 چیست؟! جواب اینه که اون عبارت به numpy میفهمونه که بیاد b رو به در محور صفرم (که در اینجا یعنی سطر) بهش اضافه کنه! یعنی بیاد b رو در ادامه سطرهای a قرار بده!

که خروجی میشه:!

[[1 2]
 [3 4]
 [5 6]]

مثال 2: متصل کردن با axis=1 !

حالا این بار قطعه کد زیر رو در نظر بگیرید!

import numpy as np
a=np.array([
    [1,2],
    [3,4]
])
b=np.array([
    [5],
    [6]
])
result=np.concatenate(  (a,b),axis=1  )
print(result)

خط 1 تا 5 که مشابه قبلی است!

خط 6 تا 9 هم اومدیم یک ماتریس 2 در 1 ساختیم، همین!

در خط 10 هم اومدیم a و b رو در محور یکم (در اینجا یعنی ستونی) به هم وصل کردیم! یعنی اینکه b رو بذاره کنار ستون‌های a !

خروجی قطعه کد بالا میشه:!

[[1 2 5]
 [3 4 6]]

یک اشتباه رایج در بین کاربران!

مشکل کد زیر چیست به نظرتون؟! [فقط بخشی از کد آورده شده است!]

result=np.concatenate(a,b,axis=1)

مشکل اینه که a,b رو به صورت جداگانه نوشته و نه داخل یک پرانتز! یعنی باید a و b رو داخل یک پرانتز و به صورت زیر می‌نوشت!

result=np.concatenate((a,b),axis=1)

اگر پرانتز نذارید، اشتباه میشه و پایتون بنده خدا پیش خودش میگه: این بنده خدا چرا اینقدر بهم ورودی داده! [خطایی هم که میده به همین موضوع اشاره داره]!

خلاصه اینکه حواستون باشه اون پرانتز رو فراموش نکنید!

فکر نکنم لازم باشه، ولی باز هم میگم!

مشکل قطعه کد زیر چیه به نظرتون؟!

import numpy as np
a=np.array([
    [1,2],
    [3,4]
])
b=np.array([
    [5,6]
])
result=np.concatenate(  (a,b),axis=1  )
print(result)

مشکلش اینه که مگه میشه یک آرایه 2 در 2 رو با یک آرایه 1 در 2 به صورت ستونی کنار هم گذاشت؟! (به وضوح نمیشه دیگه! ابعادشون به هم نمیخوره!)

آموزش‌های پیشنهادی!

جلسه قبل: آموزش دستور flat در پکیج numpy پایتون (python) !

جلسه بعد: آموزش تابع nonzero در numpy پایتون !

آموزش رایگان زبان برنامه نویسی پایتون

 

مطالب مرتبط

تابع reshape(-1,1) و تابع reshape(1,-1) در numpy پایتون دوتا از پرکاربردترین توابع numpy پایتون (مخصوصاً در علم داده)...

عملگرهای هویت (is و is not) در پایتون (python) شاید نیاز باشه که مثلاً چک کنید اگر نوع...

جزئیات نوشته
تعداد دیدگاه 4
تعداد بازدید 6.3K
تاریخ انتشار 13/08/2019
تاریخ بروزرسانی 13/08/2019
نویسنده گروه آموزشی کولاک
برای ارسال دیدگاه ابتداواردشوید