วิธีคำนวณค่าเฉลี่ยกลุ่มเป็นแพนด้า (พร้อมตัวอย่าง)


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

วิธีที่ 1: คำนวณค่าเฉลี่ยของคอลัมน์ที่จัดกลุ่มตามคอลัมน์

 df. groupby ([' group_col '])[' value_col ']. mean ()

วิธีที่ 2: คำนวณค่าเฉลี่ยของหลายคอลัมน์ที่จัดกลุ่มตามคอลัมน์เดียว

 df. groupby ([' group_col '])[' value_col1 ', ' value_col2 ']. mean ()

วิธีที่ 3: คำนวณค่าเฉลี่ยของคอลัมน์ที่จัดกลุ่มตามหลายคอลัมน์

 df. groupby ([' group_col1 ', ' group_col2 '])[' value_col ']. mean ()

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' position ': ['G', 'F', 'F', 'G', 'F', 'F', 'G', 'G'],
                   ' points ': [30, 22, 19, 14, 14, 11, 20, 28],
                   ' assists ': [4, 3, 7, 7, 12, 15, 8, 4]})

#view DataFrame
print (df)

  team position points assists
0 AG 30 4
1 AF 22 3
2 FY 19 7
3 AG 14 7
4 BF 14 12
5 BF 11 15
6 BG 20 8
7 BG 28 4

ตัวอย่างที่ 1: คำนวณค่าเฉลี่ยของคอลัมน์ที่จัดกลุ่มตามคอลัมน์

รหัสต่อไปนี้แสดงวิธีคำนวณค่าเฉลี่ยของคอลัมน์ คะแนน โดยจัดกลุ่มตามคอลัมน์ ทีม :

 #calculate mean of points grouped by team
df. groupby (' team ')[' points ']. mean ()

team
At 9:25 p.m.
B 18.25
Name: points, dtype: float64

จากผลลัพธ์เราจะเห็นได้ว่า:

  • คะแนนเฉลี่ยของทีม A คือ 21.25
  • คะแนนเฉลี่ยของทีม B คือ 18.25

ตัวอย่างที่ 2: คำนวณค่าเฉลี่ยของหลายคอลัมน์ที่จัดกลุ่มตามคอลัมน์เดียว

รหัสต่อไปนี้แสดงวิธีการคำนวณค่าเฉลี่ยของคอลัมน์ คะแนน และค่าเฉลี่ยของคอลัมน์ ช่วยเหลือ ซึ่งจัดกลุ่มตามคอลัมน์ ทีม :

 #calculate mean of points and mean of assists grouped by team
df. groupby (' team ')[[' points ', ' assists ']]. mean ()

       assist points
team		
At 21.25 5.25
B 18.25 9.75

ผลลัพธ์จะแสดงค่า คะแนน เฉลี่ยและค่า ช่วยเหลือ เฉลี่ยสำหรับแต่ละทีม

ตัวอย่างที่ 3: คำนวณค่าเฉลี่ยของคอลัมน์ที่จัดกลุ่มตามหลายคอลัมน์

รหัสต่อไปนี้แสดงวิธีคำนวณค่าเฉลี่ยของคอลัมน์ คะแนน โดยจัดกลุ่มตามคอลัมน์ ทีม และ ตำแหน่ง :

 #calculate mean of points, grouped by team and position
df. groupby ([' team ', ' position '])[' points ']. mean ()

team position
FY 20.5
      G 22.0
BF 12.5
      G 24.0
Name: points, dtype: float64

จากผลลัพธ์เราจะเห็นได้ว่า:

  • คะแนนเฉลี่ยของผู้เล่นจากทีม A และตำแหน่ง F คือ 20.5
  • คะแนนเฉลี่ยสำหรับผู้เล่นจากทีม A และตำแหน่ง G คือ 22
  • คะแนนเฉลี่ยของผู้เล่นจากทีม B และตำแหน่ง F คือ 12.5
  • คะแนนเฉลี่ยสำหรับผู้เล่นจากทีม B และตำแหน่ง G คือ 24

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

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

วิธีค้นหาค่าสูงสุดต่อกลุ่มที่ Pandas
วิธีหาผลรวมต่อกลุ่มในหมีแพนด้า
วิธีการคำนวณควอไทล์ตามกลุ่มใน Pandas

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

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