Thep Excel

numpy maxหาค่ามากที่สุดของ array เหมือน MAX ใน Excel

np.max ใน NumPy ผมใช้หาค่ามากที่สุดใน array หรือตามแต่ละแถว/คอลัมน์ใน matrix ได้ในคำสั่งเดียว เหมือนกับฟังก์ชัน MAX ใน Excel เลยครับ แต่รองรับข้อมูลหลายมิติได้ด้วยครับ

>_
np.max(a, axis)

ความนิยม5/10
ความยาก3/10
ประโยชน์5/10

อัปเดต 31 May 2026

Syntax & Arguments

คืนค่าint64

คืนเป็น numpy scalar ครับ ชนิดขึ้นอยู่กับ input array เช่น int array ได้ int64, float array ได้ float64 ถ้าระบุ axis จะได้ ndarray แทน เช่น axis=0 บน matrix 3×3 ได้ array 3 ตัว

อาร์กิวเมนต์ ชนิด ค่าเริ่มต้น คำอธิบาย
a array_like array หรือ list ที่ต้องการหาค่ามากที่สุด เช่น [1, 5, 3] หรือ np.array([[1,2],[3,4]])
[axis]ไม่บังคับ int | None None แกนที่จะคำนวณ None=หา max จากทุกตัว, axis=0=หา max ต่อคอลัมน์ (เปรียบเทียบตามแนวแถว), axis=1=หา max ต่อแถว
[keepdims]ไม่บังคับ bool False ถ้า True จะรักษา dimension เดิมไว้ในผลลัพธ์ ใช้ตอนต้องการ broadcast กลับไปยัง array ต้นฉบับ

[ ] = อาร์กิวเมนต์ที่ไม่บังคับ

Additional Notes

np.max เป็นฟังก์ชันที่ผมเปรียบเทียบกับ MAX ใน Excel ได้เลยครับ ใส่ array เข้าไป ได้ค่ามากที่สุดออกมา ถ้าไม่ระบุ axis จะหา max จากทุกตัวเลขใน array พร้อมกัน แต่ถ้าระบุ axis=0 จะได้ค่า max ต่อคอลัมน์ (เหมือน MAX แต่ละแถวในแนวตั้ง) หรือ axis=1 จะได้ค่า max ต่อแถว

ที่เจ๋งคือ np.max ทำงานเร็วมากเพราะใช้ C ภายใน และรองรับ array หลายมิติได้ด้วยพารามิเตอร์ axis ตัวเดียว ไม่ต้องเขียน loop เองเลย ✨

ส่วนตัวผมใช้ np.max บ่อยมากตอนหา outlier หรือ normalize ข้อมูล เช่น arr / np.max(arr) เพื่อสเกลค่าให้อยู่ในช่วง 0-1 ครับ ถ้าอยากรู้ว่าค่า max อยู่ที่ index ไหน ให้ใช้ np.argmax แทนครับ

Examples

ตัวอย่างที่ 1: หาค่ามากที่สุดของ array 1 มิติnp.max(arr)

ผมส่ง array 5 ตัวเข้าไป ได้ค่ามากที่สุดออกมาทันทีครับ เหมือนพิมพ์ =MAX(A1:A5) ใน Excel เลย ไม่ต้องเขียน loop เพื่อวิ่งหาเองครับ

>_
np.max(arr)

ผลลัพธ์9
ตัวอย่างที่ 2: หาค่า max ต่อคอลัมน์ใน matrix (axis=0)np.max(matrix, axis=0)

ผมใส่ axis=0 เพื่อให้เปรียบเทียบตามแนวแถวครับ ได้ค่า max ต่อคอลัมน์ออกมาเป็น ndarray คอลัมน์แรก max(1,5,4)=5, คอลัมน์สอง max(8,2,6)=8, คอลัมน์สาม max(3,9,7)=9 เหมือนกับดึง MAX จากแต่ละคอลัมน์ใน Excel ครับ

>_
np.max(matrix, axis=0)

ผลลัพธ์[5 8 9]
ตัวอย่างที่ 3: หาค่า max ต่อแถวใน matrix (axis=1)np.max(matrix, axis=1)

เปลี่ยนเป็น axis=1 คราวนี้ได้ค่า max ต่อแถวครับ แถวแรก max(1,8,3)=8, แถวสอง max(5,2,9)=9, แถวสาม max(4,6,7)=7 ใช้ดูว่าแต่ละ record มีค่าสูงสุดเท่าไหร่ได้เลยครับ

>_
np.max(matrix, axis=1)

ผลลัพธ์[8 9 7]
ตัวอย่างที่ 4: หาค่า max ทั้ง array 2 มิติ (ไม่ระบุ axis)np.max(scores)

ไม่ระบุ axis เลยครับ np.max จะหาค่ามากที่สุดจากทุกตัวเลขใน matrix เลย ได้ตัวเลขเดียวออกมาเป็น numpy scalar ใช้ดูคะแนนสูงสุดของชั้นเรียนทั้งหมดได้เลยครับ

>_
np.max(scores)

ผลลัพธ์95

FAQs

np.max กับ np.amax ต่างกันไหม?+

เหมือนกัน 100% ครับ np.amax เป็นชื่อเดิมที่ยังคงไว้เพื่อ compatibility ส่วน np.max เป็นชื่อใหม่ที่แนะนำให้ใช้ ผมใช้ np.max ตลอดครับเพราะสั้นกว่าและตรงกับ np.min/np.sum/np.mean ที่ทีมส่วนใหญ่คุ้นเคย

ถ้าอยากรู้ว่าค่า max อยู่ที่ index ไหนต้องทำยังไง?+

ใช้ np.argmax แทนครับ เช่น np.argmax(arr) คืน index ของค่ามากที่สุด ผมใช้บ่อยมากตอนหาว่า model ทำนายผลไหน (argmax ของ probability scores) หรือตอนหาว่า record ไหนมีค่าสูงสุดครับ

np.max กับ max() ใน Python ธรรมดาต่างกันไหม?+

ต่างกันครับ max() ใน Python รองรับ list ธรรมดาแต่ทำงานช้าและรองรับ matrix หลายมิติไม่ได้ ส่วน np.max ทำงานเร็วกว่าหลายเท่าสำหรับข้อมูลขนาดใหญ่ และรองรับ axis parameter สำหรับ 2D/3D array ได้ทันทีครับ ผมเปลี่ยนมาใช้ np.max แทน max() ทุกครั้งที่ข้อมูลเป็น numpy array ครับ

Resources & Related

ฟังก์ชันที่ผู้เขียนโยงไว้กับ numpy max จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้numpy maxAggregation
Aggregation (4)
numpy mean

np.mean ใน NumPy ผมใช้สำหรับคำนวณค่าเฉลี่ยเลขคณิตของ array หรือของแต่ละแถว/คอลัมน์ใน matrix ได้ในคำสั่งเดียว เร็วกว่าเขียน sum/len เองหลายเท่า และยังรองรับข้อมูลหลายมิติได้ด้วยครับ

numpy median

np.median ใน NumPy ผมใช้สำหรับหาค่ามัธยฐาน (median) ของข้อมูลใน array เหมือนฟังก์ชัน MEDIAN ใน Excel เลยครับ จุดเด่นคือทนต่อ outlier ได้ดีกว่า np.mean มาก เพราะค่าสุดขั้วไม่ดึงให้ผลลัพธ์เบี้ยวครับ

numpy std

np.std ใน NumPy ผมใช้สำหรับคำนวณส่วนเบี่ยงเบนมาตรฐาน (standard deviation) ของ array ได้ในบรรทัดเดียว เหมือน STDEV.P ใน Excel แต่ระวังด้วยครับ ค่า default ของ NumPy ต่างจาก Excel ตรงที่ใช้ population std ไม่ใช่ sample std

numpy sum

np.sum ใน NumPy ผมใช้สำหรับรวมค่าทุกตัวใน array หรือรวมตามแถว/คอลัมน์ใน matrix ได้ในคำสั่งเดียว เหมือนฟังก์ชัน SUM ใน Excel แต่ทำงานกับ array หลายมิติและเร็วกว่าการวน loop เองมากครับ

Logic (2)
numpy argmax

np.argmax ผมใช้หา index หรือตำแหน่งของค่าที่มากที่สุดใน array ครับ ย้ำว่ามันคืน "ตำแหน่ง" ไม่ใช่ "ตัวค่า" ถ้าใครเคยใช้ Excel มาก่อน ตัวนี้คือ MATCH(MAX(range), range, 0) นั่นเองครับ

numpy where

numpy.where ผมใช้เลือกค่าจาก array ตามเงื่อนไขที่กำหนดครับ ถ้าให้เทียบง่ายๆ มันคือ IF ใน Excel นั่นแหละ แต่เก่งกว่าตรงที่ทำงานกับข้อมูลทั้ง array พร้อมกันในทีเดียว แถมยังใส่อาร์กิวเมนต์เดียวเพื่อหา index ที่ตรงเงื่อนไขได้อีกด้วย

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่