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

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

شما اینجا هستید:
تابع reshape(-1,1) و تابع reshape(1,-1) در numpy پایتون

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

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

تابع reshape(1,-1)

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

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

import numpy as np
a=np.array([
    [1,2],
    ["A","B"]
])

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

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

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

[['1' '2']
 ['A' 'B']]

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

b=a.reshape(1,-1)
print(b)

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

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

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

[['1' '2' 'A' 'B']]

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

تابع reshape(-1,1)

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

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

import numpy as np
a=np.array([
    [1,2],
    ["A","B"]
])
b=a.reshape(-1,1)
print(b)

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

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

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

[['1']
 ['2']
 ['A']
 ['B']]

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

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

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

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

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

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

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

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

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

تمرین!

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

import numpy as np
a=np.arange(6).reshape(2,3).reshape(-1,1)
print(a)

خط 1 که مشخصه!

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

بعد با تابع reshape(2,3) میاد همین 6 تا عدد (اعداد 0 تا 5 میشه 6 عدد دیگه!) رو در تبدیل میکنه به یک آرایه 2 در 3!

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

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

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

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

[[0]
 [1]
 [2]
 [3]
 [4]
 [5]]

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

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

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

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

مطالب مرتبط

آموزش numpy - دستور argsort در پایتون در این آموزش با مثال‌های مختلف به صورت کامل به توضیح...

آموزش بازکردن فایل های jupyter notebook پایتون (با پسوند ipynb) قطعاً یکی از سوالاتی که تا الان پیش...

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