Numpy mean() กับ average(): อะไรคือความแตกต่าง?


คุณสามารถใช้ฟังก์ชัน np.mean() หรือ np.average() เพื่อคำนวณค่าเฉลี่ยของอาร์เรย์ใน Python

นี่คือข้อแตกต่างเล็กน้อยระหว่างทั้งสองฟังก์ชัน:

  • np.mean จะคำนวณค่าเฉลี่ยเลขคณิตเสมอ
  • np.average มีพารามิเตอร์ น้ำหนัก เผื่อเลือกที่สามารถใช้เพื่อคำนวณค่าเฉลี่ยถ่วงน้ำหนักได้

ตัวอย่างต่อไปนี้แสดงวิธีใช้แต่ละฟังก์ชันในทางปฏิบัติ

ตัวอย่างที่ 1: ใช้ np.mean() และ np.average() โดยไม่มีน้ำหนัก

สมมติว่าเรามีตารางต่อไปนี้ใน Python ที่มีค่าเจ็ดค่า:

 #create array of values
data = [1, 4, 5, 7, 8, 8, 10]

เราสามารถใช้ np.mean() และ np.average() เพื่อคำนวณค่าเฉลี่ยของอาร์เรย์นี้ได้:

 import numpy as np

#calculate average value of array
n.p. mean (data)

6.142857142857143

#calculate average value of array
n.p. average (data)

6.142857142857143

ฟังก์ชันทั้งสองส่งคืนค่าเดียวกันทุกประการ

ฟังก์ชันทั้งสองใช้สูตรต่อไปนี้เพื่อคำนวณค่าเฉลี่ย:

ค่าเฉลี่ย = (1 + 4 + 5 + 7 + 8 + 8 + 10) / 7 = 6.142857

ตัวอย่างที่ 2: ใช้ np.average() พร้อมน้ำหนัก

สมมติว่าเรามีอาร์เรย์ต่อไปนี้ใน Python ที่มีค่าเจ็ดค่า:

 #create array of values
data = [1, 4, 5, 7, 8, 8, 10]

เราสามารถใช้ np.average() เพื่อคำนวณค่าเฉลี่ยถ่วงน้ำหนักสำหรับอาร์เรย์นี้โดยการจัดเตรียมรายการค่าให้กับพารามิเตอร์ น้ำหนัก :

 import numpy as np

#calculate weighted average of array
n.p. average (data, weights=(.1, .2, .4, .05, .05, .1, .1))

5.45

ค่าเฉลี่ยถ่วงน้ำหนักกลายเป็น 5.45

นี่คือสูตรที่ใช้โดย np.average() เพื่อคำนวณค่านี้:

ค่าเฉลี่ยถ่วงน้ำหนัก = 1*.1 + 4*.2 + 5*.4 + 7*.05 + 8*.05 + 8*.1 + 10*.1 = 5.45

โปรดทราบว่าเราไม่สามารถใช้ np.mean() เพื่อทำการคำนวณนี้ได้ เนื่องจากฟังก์ชันนี้ไม่มีพารามิเตอร์ น้ำหนัก

โปรดดูเอกสารประกอบของ NumPy สำหรับคำอธิบายแบบเต็มของฟังก์ชัน np.mean() และ np.average()

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

บทช่วยสอนต่อไปนี้จะอธิบายวิธีคำนวณค่าเฉลี่ยอื่นๆ ใน Python:

วิธีการคำนวณค่าเฉลี่ยเคลื่อนที่ใน Python
วิธีการคำนวณค่าเฉลี่ยสะสมใน Python

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *