---
title: numpy mean — หาค่าเฉลี่ยของ array
url: https://www.thepexcel.com/functions/python/aggregation/numpy-mean/
type: function-explainer
program: Python
syntax: np.mean(a)
date: 2026-05-31
scores:
  popularity: 5
  difficulty: 3
  usefulness: 5
---

# numpy mean — หาค่าเฉลี่ยของ array

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

## คำอธิบาย

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

## Syntax

```excel
np.mean(a)
```

## Arguments

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

## ตัวอย่าง

### 1. ตัวอย่างที่ 1: หาค่าเฉลี่ยของ array 1 มิติ

```excel
np.mean(arr)
```

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

ผมส่ง array 5 ตัวเข้าไป ได้ค่าเฉลี่ย 30.0 ออกมาครับ (10+20+30+40+50)/5 = 30 เขียนบรรทัดเดียวจบ ไม่ต้องคำนวณเองเลย

### 2. ตัวอย่างที่ 2: หาค่าเฉลี่ยต่อคอลัมน์ใน matrix

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

**ผลลัพธ์:** `[4. 5. 6.]`

ผมใส่ axis=0 เพื่อเฉลี่ยตามแนวแถวครับ ได้ค่าเฉลี่ยต่อคอลัมน์ออกมา คอลัมน์แรก (1+4+7)/3=4.0, คอลัมน์สอง (2+5+8)/3=5.0, คอลัมน์สาม (3+6+9)/3=6.0

### 3. ตัวอย่างที่ 3: หาค่าเฉลี่ยต่อแถวใน matrix

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

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

เปลี่ยนเป็น axis=1 คราวนี้ได้ค่าเฉลี่ยต่อแถวครับ แถวแรก (1+2+3)/3=2.0, แถวสอง (4+5+6)/3=5.0, แถวสาม (7+8+9)/3=8.0 ใช้ดูภาพรวมแต่ละ row ได้ดีมาก

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

- ผมแนะนำให้ใช้ np.nanmean แทน np.mean เสมอเมื่อข้อมูลอาจมีค่า missing ครับ เพราะ np.mean จะคืน nan ทันทีที่เจอ NaN แม้ตัวเดียว ทำให้ผลลัพธ์ทั้งหมดพังไปด้วย

- ส่วนตัวผมใช้ keepdims=True บ่อยมากตอนทำ normalization เช่น arr - np.mean(arr, axis=0, keepdims=True) เพื่อให้ dimension ตรงกันสำหรับการ broadcast โดยไม่ต้อง reshape เพิ่มครับ

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

**Q: np.mean กับ arr.mean() ต่างกันไหม?**

ได้ผลเหมือนกันเป๊ะครับ arr.mean() เป็น method บน ndarray ที่เรียก np.mean เบื้องหลัง ผมชอบใช้ arr.mean(axis=0) ตอน chaining เพราะอ่านง่ายกว่า แต่ถ้าส่ง list ธรรมดาเข้ามาต้องใช้ np.mean() แบบ function เพราะ list ไม่มี method .mean() ครับ

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

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

---

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