---
title: numpy max — หาค่ามากที่สุดของ array เหมือน MAX ใน Excel
url: https://www.thepexcel.com/functions/python/aggregation/numpy-max/
type: function-explainer
program: Python
syntax: "np.max(a, axis)"
date: 2026-05-31
scores:
  popularity: 5
  difficulty: 3
  usefulness: 5
---

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

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

## คำอธิบาย

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

## Syntax

```excel
np.max(a, axis)
```

## Arguments

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

## ตัวอย่าง

### 1. ตัวอย่างที่ 1: หาค่ามากที่สุดของ array 1 มิติ

```excel
np.max(arr)
```

**ผลลัพธ์:** `9`

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

### 2. ตัวอย่างที่ 2: หาค่า max ต่อคอลัมน์ใน matrix (axis=0)

```excel
np.max(matrix, axis=0)
```

**ผลลัพธ์:** `[5 8 9]`

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

### 3. ตัวอย่างที่ 3: หาค่า max ต่อแถวใน matrix (axis=1)

```excel
np.max(matrix, axis=1)
```

**ผลลัพธ์:** `[8 9 7]`

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

### 4. ตัวอย่างที่ 4: หาค่า max ทั้ง array 2 มิติ (ไม่ระบุ axis)

```excel
np.max(scores)
```

**ผลลัพธ์:** `95`

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

## หมายเหตุเพิ่มเติม

- ผมแนะนำให้รู้จัก np.argmax ควบคู่กับ np.max เสมอครับ np.max ให้ค่า แต่ np.argmax ให้ตำแหน่ง (index) ของค่านั้น ทั้งสองทำงานกับ axis ได้เหมือนกันเลยครับ

- ส่วนตัวผมใช้ np.min กับ np.max คู่กันตอน normalize ข้อมูลครับ เช่น (arr - np.min(arr)) / (np.max(arr) - np.min(arr)) เพื่อสเกลค่าให้อยู่ในช่วง 0-1 (Min-Max Normalization) ก่อนส่งเข้า machine learning model

## คำถามที่พบบ่อย

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

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

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

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

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

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

## แหล่งข้อมูลเพิ่มเติม

- [numpy.max — NumPy official docs](https://numpy.org/doc/stable/reference/generated/numpy.max.html) _(article)_

---

_Source: [https://www.thepexcel.com/functions/python/aggregation/numpy-max/](https://www.thepexcel.com/functions/python/aggregation/numpy-max/)_
