Pandas: คำนวณค่าเฉลี่ย & std ของคอลัมน์ในรูปแบบ groupby


คุณสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อคำนวณค่าเฉลี่ยและส่วนเบี่ยงเบนมาตรฐานของคอลัมน์หลังจากใช้การดำเนินการ groupby() ในแพนด้า:

 df. groupby ([' team '], as_index= False ). agg ({' points ':[' mean ', ' std ']})

ตัวอย่างนี้จัดกลุ่มแถวของ DataFrame ของ pandas ตามค่าในคอลัมน์ Team จากนั้นคำนวณค่าเฉลี่ยและส่วนเบี่ยงเบนมาตรฐานของค่าในคอลัมน์ Points

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

ตัวอย่าง: คำนวณค่าเฉลี่ยและบรรทัดฐานของคอลัมน์ใน Pandas groupby

สมมติว่าเรามี DataFrame แพนด้าต่อไปนี้ซึ่งมีข้อมูลเกี่ยวกับผู้เล่นบาสเกตบอลจากทีมต่างๆ:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
                   ' points ': [12, 15, 17, 17, 19, 14, 15, 20, 24, 28],
                   ' assists ': [5, 5, 7, 9, 10, 14, 13, 8, 2, 7]})
                            
#view DataFrame
print (df)

  team points assists
0 to 12 5
1 to 15 5
2 To 17 7
3 To 17 9
4 B 19 10
5 B 14 14
6 B 15 13
7 C 20 8
8 C 24 2
9 C 28 7

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

 #calculate mean and standard deviation of points, grouped by team
output = df. groupby ([' team '], as_index= False ). agg ({' points ':[' mean ', ' std ']})

#view results
print (output)

  team points          
         mean std
0 A 15.25 2.362908
1 B 16.00 2.645751
2 C 24.00 4.000000

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

  • คะแนนเฉลี่ยของทีม A คือ 15.25
  • ค่าเบี่ยงเบนมาตรฐานของคะแนนของทีม A คือ 2.362908

และอื่นๆ

นอกจากนี้เรายังสามารถเปลี่ยนชื่อคอลัมน์เพื่อให้อ่านผลลัพธ์ได้ง่ายขึ้น:

 #rename columns
output.output. columns = [' team ', ' points_mean ', ' points_std ']

#view updated results
print (output)

  team points_mean points_std
0 A 15.25 2.362908
1 B 16.00 2.645751
2 C 24.00 4.000000

หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มของการดำเนินการ pandas groupby() ได้ที่นี่

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

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

วิธีดำเนินการผลรวม GroupBy ใน Pandas
วิธีใช้ Groupby และ Plot ใน Pandas
วิธีนับค่าที่ไม่ซ้ำโดยใช้ GroupBy ใน Pandas

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

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