تابع ptp از پکیج/ماژول numpy پایتون ، به صورت خیلی ساده، میاد Max-Min یک سری عدد رو حساب میکنه! در این آموزش این مورد رو با مثال و تمرین، خیلی کامل توضیح خواهیم داد!
در قطعه کد زیر، یک آرایه (array) به اسم a تعریف کردیم!
import numpy as np a=np.array([ [1,2,3], [4,5,6], [7,8,9] ])
اگر دارید تعجب میکنید و میگید چجوری آرایه تعریف کردیم و اینجور چیزا، یعنی پیشنیازهای لازم رو رعایت نکردید! برای همین، نیازه تا به مطلب زیر مراجعه کنید!:
آموزش ساخت آرایه (array) در numpy پایتون
دقت کنید، آرایه a همون اعداد 1 تا 9 است که در یک آرایه دوبعدی (ماتریس) قرار گرفته! (ماتریسمون هم 3 در 3 است!)
حالا شما بگید، min عدد موجود در کُل این آرایه چنده؟ [قطعاً باید بگید: 1]!
max عدد چطور؟ [حتماً دارید میگید 9]!
پس max-min در بین کُل اعداد این آرایه میشه!:
9-1=8
حالا قطعه کد زیر رو در نظر بگیرید!
print( np.ptp(a) )
این بندهخدا ptp هم میاد دقیقاً همین داستانهایی که گفتیم رو انجام میده! یعنی میاد max-min یک سری عدد رو حساب میکنه! و مطابق توضیحاتی که در بالا دادم، خروجی این کد میشه: 8 !
اگر دقت کنید در قطعه کد بالا، داریم print میکنیم (چاپ میکنیم)، تابع ptp از پکیج/ماژول numpy رو! (اون np نام مستعار numpy است دیگه!)
اگر بازهم دارید تعجب میکنید که نام مستعار چیه و …! باید مراجعه کنید به اون مطلب پیشنیاز که لینکش رو بالاتر قرار دادم!
یادآوری: در زبان انگلیسی، axis یعنی محور!
حالا یه بار دیگه آرایه زیر رو در نظر بگیرید!
import numpy as np a=np.array([ [1,2,3], [4,5,6], [7,8,9] ])
توی ستون اول، حاصل max عدد منهایِ min عدد چی میشه؟! بله درسته میشه:!
7-1=6
توی ستون دوم هم، اگر ماکسیمم عدد (یعنی 8) رو منهایِ مینیمم عدد (یعنی 2) بکنیم، حاصل میشه 6!
در ستون سوم هم به طور مشابه حاصل max-min میشه 6!
خب! حالا قطعه کد زیر رو در نظر بگیرید!
print( np.ptp(a,axis=0) )
در اینجا داریم میگیم جناب پایتون عزیز، لطف کن max-min هر ستون رو بهمون بده! (در اینجا اون axis=0 یعنی ستون!)
این هم میاد خروجی میده:
[6 6 6]
که دقیقاً مطابق با همون داستانهایی است که گفتیم!
برای سومین بار، آرایه زیر رو ببینید!
import numpy as np a=np.array([ [1,2,3], [4,5,6], [7,8,9] ])
خب! حالا بفرمایید در سطر اول، بزگترین عدد کیست؟! [بله درسته! جناب آقای 3 !]
کچکترین عدد در سطر اول هم، جناب آقای 1 است!
پس در سطر اول، max-min میشه:
3-1=2
حالا همین کار رو برای دو سطر بعدی هم انجام بدید! یعنی max عدد رو منهای min عدد هر سطر بکنید! برای سطر دوم حاصل میشه 2! برای سطر سوم هم حاصل میشه 2!
حالا دوباره وقت این رسیده که قطعه کد زیر رو در نظر بگیرید!
print( np.ptp(a,axis=1) )
اینبار به python داریم میگم: محبت کن max-min هر سطر رو بهمون بده! (در اینجا، اونی که نوشتیم axis=1 یعنی سطر!)
پس خروجی این بندهخدا (همین قطعه کد منظورمه!) میشه:
[2 2 2]
که در واقع در هر سطر، اومده max عدد رو منهای min عدد کرده! که این داستانها رو یکم قبلتر توضیح دادیم دیگه!
تمرین 1: آرایه زیر رو در نظر بگیرید!
a=np.array([1,2,3,4,5])
اگر از تابع ptp استفاده کنیم، خروجی چی میشه؟!
تمرین 2: آرایه زیر رو در نظر بگیرید:
a=np.array([ [1,2,3], [4,5,6] ])
نتیجه استفاده از ptp بر روی ستونها چی میشه؟! (کدش رو هم بنویسید و بگید axis رو باید برابر چند قرار بدیم؟!)
پاسخ تمرین 1: میشه 4! چون بزرگترین عدد 5 است و min برابر 1 است! پس تفاضل ماکسیمم منهایِ مینیمم میشه 4 دیگه!
پاسخ تمرین 2: فقط کافیه بنویسیم!:
print( np.ptp(a,axis=0) )
خروجیش هم میشه!:
[3 3 3]
تعداد دیدگاه | 0 |
تعداد بازدید | 3.4K |
تاریخ انتشار | 31/10/2019 |
تاریخ بروزرسانی | 31/10/2019 |
نویسنده | گروه آموزشی کولاک |