วิธีการคำนวณค่าเฉลี่ยแบบมีเงื่อนไขในนุ่น (พร้อมตัวอย่าง)


คุณสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อคำนวณค่าเฉลี่ยแบบมีเงื่อนไขในแพนด้า:

 df. loc [df[' team '] == ' A ', ' points ']. mean ()

วิธีนี้จะคำนวณค่าเฉลี่ยของคอลัมน์ “คะแนน” สำหรับแต่ละแถวใน DataFrame โดยที่คอลัมน์ “ทีม” เท่ากับ “A”

ตัวอย่างต่อไปนี้แสดงวิธีการใช้ไวยากรณ์นี้ในทางปฏิบัติกับ Pandas DataFrame ต่อไปนี้:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B'],
                   ' points ': [99, 90, 93, 86, 88, 82],
                   ' assists ': [33, 28, 31, 39, 34, 30]})

#view DataFrame
print (df)

  team points assists
0 to 99 33
1 A 90 28
2 A 93 31
3 B 86 39
4 B 88 34
5 B 82 30

ตัวอย่างที่ 1: คำนวณค่าเฉลี่ยแบบมีเงื่อนไขสำหรับตัวแปรประเภท

รหัสต่อไปนี้แสดงวิธีการคำนวณค่าเฉลี่ยของคอลัมน์ “คะแนน” สำหรับแถวใน DataFrame โดยที่คอลัมน์ “ทีม” มีค่า “A”

 #calculate mean of 'points' column for rows where team equals 'A'
df. loc [df[' team '] == ' A ', ' points ']. mean ()

94.0

ค่าเฉลี่ยในคอลัมน์ “คะแนน” สำหรับแถวที่ “ทีม” เท่ากับ “A” คือ 94

เราสามารถตรวจสอบได้ด้วยตนเองโดยการเฉลี่ยค่าคะแนนเฉพาะสำหรับบรรทัดที่ “ทีม” เท่ากับ “A”:

  • คะแนนเฉลี่ย: (99 + 90 + 93) / 3 = 94

ตัวอย่างที่ 2: คำนวณค่าเฉลี่ยแบบมีเงื่อนไขสำหรับตัวแปรตัวเลข

รหัสต่อไปนี้แสดงวิธีการคำนวณค่าเฉลี่ยของคอลัมน์ “ช่วยเหลือ” สำหรับแถวใน DataFrame เท่านั้น โดยที่คอลัมน์ “คะแนน” มีค่ามากกว่าหรือเท่ากับ 90

 #calculate mean of 'assists' column for rows where 'points' >= 90
df. loc [df[' points '] >= 90 , ' assists ']. mean ()

30.666666666666668

ค่าเฉลี่ยในคอลัมน์ “ช่วยเหลือ” สำหรับแถวที่ “คะแนน” มากกว่าหรือเท่ากับ 90 คือ 30.66667

เราสามารถตรวจสอบได้ด้วยตนเองโดยการเฉลี่ยค่าคะแนนเฉพาะสำหรับบรรทัดที่ “ทีม” เท่ากับ “A”:

  • แอสซิสต์เฉลี่ย: (33 + 28 + 31) / 3 = 30.66667

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

บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ในแพนด้า:

วิธีการคำนวณค่าเฉลี่ยของคอลัมน์ใน Pandas
วิธีการคำนวณค่าเฉลี่ยเคลื่อนที่ในหมีแพนด้า
วิธีเติมค่า NaN ด้วยค่าเฉลี่ยในหมีแพนด้า

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

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