np.maxnp.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เพื่อวัตถุประสงค์ (root) เดียวกันmaximumเช่นกับnumpy.amax([a1, a2], axis=0)--- แต่สิ่งนี้ไม่เหมาะสำหรับพฤติกรรมนี้numpy.maximumหรือไม่? ในทำนองเดียวกันสิ่งที่เพิ่มเข้ามาของnumpy.amax(เช่นaxisพารามิเตอร์) จะป้องกันไม่ให้เป็น aufunc?