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