Thep Excel

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

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

>_
np.mean(a)

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

อัปเดต 31 May 2026

Syntax & Arguments

คืนค่าfloat64

คืนเป็น np.float64 ครับเมื่อ input เป็น array 1 มิติทั่วไป ถ้าระบุ axis จะได้ ndarray แทน เช่น axis=0 บน matrix 3×3 ได้ array 3 ตัว

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

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

Additional Notes

np.mean เป็นฟังก์ชันพื้นฐานที่ผมเปิดใช้งานตั้งแต่วันแรกที่เรียน NumPy เลยครับ 😎

หลักการทำงานคือรับ array (หรือ list) แล้วคืนค่าเฉลี่ยเลขคณิต (arithmetic mean) ออกมา ถ้าไม่ระบุ axis จะเฉลี่ยทุกตัวเลขใน array พร้อมกัน แต่ถ้าระบุ axis=0 จะเฉลี่ยตามแนวแถว (ได้ค่าต่อคอลัมน์) หรือ axis=1 เฉลี่ยตามแนวคอลัมน์ (ได้ค่าต่อแถว)

ที่เจ๋งคือ np.mean เร็วกว่า sum(arr)/len(arr) มากเพราะทำงานใน C ภายใน และยังรองรับ matrix 2D 3D ได้ด้วยพารามิเตอร์ axis เดียว ✨

ส่วนตัวผมใช้ np.mean บ่อยมากตอน normalize ข้อมูลก่อนส่งเข้า machine learning model หรือตอนเช็คค่ากลางอย่างรวดเร็ว ถ้ามี NaN ในข้อมูลผมจะเปลี่ยนไปใช้ np.nanmean แทนครับ เพราะ np.mean ปกติจะคืน nan ถ้าเจอค่า missing

Examples

ตัวอย่างที่ 1: หาค่าเฉลี่ยของ array 1 มิติnp.mean(arr)

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

>_
np.mean(arr)

ผลลัพธ์30.0
ตัวอย่างที่ 2: หาค่าเฉลี่ยต่อคอลัมน์ใน matrixnp.mean(matrix, axis=0)

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

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

ผลลัพธ์[4. 5. 6.]
ตัวอย่างที่ 3: หาค่าเฉลี่ยต่อแถวใน matrixnp.mean(matrix, axis=1)

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

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

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

FAQs

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

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

Resources & Related

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

ฟังก์ชันนี้numpy meanAggregation
Aggregation (5)
numpy max

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

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 เองมากครับ

pandas mean

df.mean() ใน pandas ผมใช้หาค่าเฉลี่ยของแต่ละคอลัมน์ใน DataFrame ทีละรอบเดียว เหมือนกับพิมพ์ AVERAGE ทุกคอลัมน์พร้อมกันเลยครับ ถ้าต้องการแค่คอลัมน์เดียวก็ใช้ df['col'].mean() ได้ค่าตัวเลขออกมาเลย

Creation (1)
numpy arange

np.arange ใน NumPy ผมใช้สำหรับสร้าง array ของเลขที่เรียงกันตามช่วงที่กำหนด คล้ายกับ range() ใน Python แต่ได้ผลออกมาเป็น ndarray ที่เอาไปคำนวณทางคณิตศาสตร์ต่อได้ทันที ใช้บ่อยมากตอนสร้างแกน x สำหรับกราฟหรือสร้างชุดตัวเลขทดสอบครับ

Logic (1)
numpy where

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

Comments

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