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