جزئیات آموزش
مدرس: سجاد رحمانی
آخرین ویرایش: ۲۲ مرداد ۱۳۹۸
دسته بندی:

کانال تلگرام

بنر تلگرامی

تابع reshape(-1,1) و تابع reshape(1,-1) در numpy پایتون

دوتا از پرکاربردترین توابع numpy پایتون (مخصوصاً در علم داده) تابع reshape(-1,1) و تابع reshape(1,-1) است! این دوتابع میان همه‌ی مولفه‌ها رو میگیرن و به ترتیب توی یک ستون و توی یک سطر میندازن!

تابع reshape(1,-1)

این تابع میاد هرچی مولفه هست رو میندازه توی یک سطر!

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

در خط اول که اومدیم و پکیج numpy رو با نام مستعار np وارد برنامه می‌کنیم! (چون حوصله نداریم هِی در سراسر کدی که می‌نویسیم اسم طولانی numpy رو صدا بزنیم! و می‌خوایم خودمون رو راحت کنیم و بگیم np! خیلی ساده و خلاصه! پس دلیل انتخاب نام مستعار همینه! اگر شما دوست ندارید، اسم مستعار استفاده نکنید!)

در خط دوم، یک آرایه درست کردیم! (مشاهده آموزش ساخت آرایه در numpy)

فقط اینو بگم که آرایه ۲ در ۲ ساختیم! (۲ سطر و ۲ ستون!) و قیافه آرایه‌مووون هم به صورت زیر است!

حالا اگر در ادامه بنویسیم:!

که در خط اول این کد بالا، اومدیم، آرایه a رو به صورت سطری در میاریم! [یعنی هر چی مولفه داره رو میگیریم و همشووون رو میندازیم توی یک سطر!] و اسمش رو هم میذاریم b!

در خط دوم هم همون b رو چاپ میکنیم!

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

مشاهده میکنید که همه مولفه‌ها رو گرفت و همه رو انداخت توی یک سطر!

تابع reshape(-1,1)

این تابع میاد هرچی مولفه هست رو میندازه توی یک ستون!

مثال: قطعه کد زیر رو باید در نظر بگیریم تا بعد توضیح بدم!

خط ۱ تا ۵ که دقیقاً قبلاً توضیح داده شده!

خط ۶ اومدیم همه مولفه‌های a رو گرفتیم و میندازیم توی ستون! (کاری که reshape(-1,1) میکنه دقیقاً همینه!) و اسم متغیر حاصل رو هم گذاشتیم b !

در خط آخر هم اومدیم همون b رو چاپ میکنیم که میشه!:

مشاهده میکنید که همه مولفه‌ها رو گرفت و همه رو انداخت توی یک ستون!

چجوری کارکرد این دوتابع یادمون بمونه؟!

خیلی ساده است! قبلش یه سوال بپرسم؟!

وقتی میگیم مثلاً (۲,۵) قبول دارید اون مولفه اول (یعنی ۲) بیانگر سطر و اون مولفه دوم (یعنی ۵) بیانگر ستون است؟! [باید بگید بله قبول دارم!]

پس یادتون باشه مولفه اول یعنی سطر! مولفه دوم یعنی ستون!

حالا reshape(1,-1) و reshape(1,-1) رو یه بار دیگه بهشون نگاه کنید!

در reshape(1,-1) کجا ۱ داره؟! در مولفه اول! یعنی سطر! پس همه مولفه‌ها رو میگیره و میندازه توی یک سطر!

در reshape(-1,1) کجا ۱ داره؟! در مولفه دوم! یعنی ستون! پس همه مولفه‌ها رو میگیره و میندازه توی یک ستون!

اون منفیِ ۱ هم که یعنی همه مولفه‌ها رو در نظر بگیره!

تمرین!

بگید خروجی کد زیر چی میشه؟!

خط ۱ که مشخصه!

خط ۲ میاد یک آرایه میسازه از رنج اعداد ۰ تا ۵! (این رنج اعداد رو با تابع arange در numpy پایتون مشخص کردیم!)

بعد با تابع reshape(2,3) میاد همین ۶ تا عدد (اعداد ۰ تا ۵ میشه ۶ عدد دیگه!) رو در تبدیل میکنه به یک آرایه ۲ در ۳!

باز دوباره با تابع reshape(-1,1) میاد همه‌ی مولفه‌ها این آرایه ۲ در ۳ رو میگیره و میریزه توی یک ستون!

و اسم همه‌ی این ها رو میذاره متغیری به اسم a!

در خط ۳ هم همون a رو چاپ میکنه!

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

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

درس قبل: تابع reshape در numpy پایتون !

درس بعد: تابع concatenate در numpy پایتون !

آموزش رایگان و کامل پایتون (python) به زبان فارسی