np.max
শুধুমাত্র একটি উপনাম np.amax
। এই ফাংশনটি কেবল একটি একক ইনপুট অ্যারেতে কাজ করে এবং পুরো অ্যারেতে সর্বাধিক উপাদানটির মান সন্ধান করে (একটি স্কেলার ফিরিয়ে দেয়)। বিকল্পভাবে, এটি একটি axis
আর্গুমেন্ট গ্রহণ করে এবং ইনপুট অ্যারের অক্ষ সহ একটি নতুন মান (একটি নতুন অ্যারে ফেরত) পাবে।
>>> a = np.array([[0, 1, 6],
[2, 4, 1]])
>>> np.max(a)
6
>>> np.max(a, axis=0) # max of each column
array([2, 4, 6])
এর ডিফল্ট আচরণ np.maximum
হ'ল দুটি অ্যারে নেওয়া এবং তাদের উপাদান অনুসারে সর্বাধিক গণনা করা। এখানে 'সামঞ্জস্যপূর্ণ' এর অর্থ একটি অ্যারে অন্যটিতে প্রচার করা যেতে পারে। উদাহরণ স্বরূপ:
>>> b = np.array([3, 6, 1])
>>> c = np.array([4, 2, 9])
>>> np.maximum(b, c)
array([4, 6, 9])
তবে np.maximum
এটি একটি সর্বজনীন ফাংশনও যার অর্থ এটির অন্যান্য বৈশিষ্ট্য এবং পদ্ধতি রয়েছে যা বহুমাত্রিক অ্যারেগুলির সাথে কাজ করার সময় কার্যকর হয়। উদাহরণস্বরূপ আপনি একটি অ্যারের (বা অ্যারের কোনও নির্দিষ্ট অক্ষ) ধরে সংখ্যাসূচককে সর্বাধিক গণনা করতে পারেন:
>>> d = np.array([2, 0, 3, -4, -2, 7, 9])
>>> np.maximum.accumulate(d)
array([2, 2, 3, 3, 3, 7, 9])
এটি দিয়ে সম্ভব নয় np.max
।
আপনি ব্যবহার করার সময় একটি নির্দিষ্ট পরিমাণে np.maximum
অনুকরণ np.max
করতে পারেন np.maximum.reduce
:
>>> np.maximum.reduce(d)
9
>>> np.max(d)
9
প্রাথমিক পরীক্ষাটি বোঝায় যে দুটি পদ্ধতির সাথে পারফরম্যান্স তুলনীয়; এবং তাদের হওয়া উচিত, np.max()
প্রকৃতপক্ষেnp.maximum.reduce
গণনা করতে কল করে।
amax
একই (রুট) হিসাবে উদ্দেশ্যেmaximum
সঙ্গে, অর্থাতnumpy.amax([a1, a2], axis=0)
--- কিন্তু এই হিসাবে এই আচরণের জন্য অপ্টিমাইজ করা হয় নাnumpy.maximum
? একইভাবে,numpy.amax
(যেমনaxis
প্যারামিটার) এর যুক্ত চমত্কার জিনিসগুলি এটির থেকে বিরত থাকেufunc
?