วิธีดำเนินการผลรวม groupby ใน pandas (พร้อมตัวอย่าง)
คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อค้นหาผลรวมของค่าตามกลุ่มในแพนด้า:
df. groupby ([' group1 ',' group2 '])[' sum_col ']. sum (). reset_index ()
ตัวอย่างต่อไปนี้แสดงวิธีการใช้ไวยากรณ์นี้ในทางปฏิบัติกับ Pandas DataFrame ต่อไปนี้:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' position ': ['G', 'G', 'F', 'C', 'G', 'F', 'F', 'C'], ' points ': [25, 17, 14, 9, 12, 9, 6, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame df team position points rebounds 0 A G 25 11 1 A G 17 8 2 A F 14 10 3 A C 9 6 4 B G 12 6 5 B F 9 5 6 B F 6 9 7 B C 4 12
ตัวอย่างที่ 1: จัดกลุ่มตามคอลัมน์ เพิ่มคอลัมน์
รหัสต่อไปนี้แสดงวิธีจัดกลุ่มตามคอลัมน์และรวมค่าในคอลัมน์:
#group by team and sum the points
df. groupby ([' team '])[' points ']. sum (). reset_index ()
team points
0 to 65
1 B 31
จากผลลัพธ์เราจะเห็นได้ว่า:
- ผู้เล่นทีม A มีคะแนนรวม 65 คะแนน
- ผู้เล่นทีม B มีคะแนนรวม 31 คะแนน
ตัวอย่างที่ 2: จัดกลุ่มตามหลายคอลัมน์ เพิ่มหลายคอลัมน์
รหัสต่อไปนี้แสดงวิธีจัดกลุ่มระหว่างหลายคอลัมน์และรวมหลายคอลัมน์:
#group by team and position, sum points and rebounds
df. groupby ([' team ', ' position '])[' points ', ' rebounds ']. sum (). reset_index ()
team position points rebounds
0 A C 9 6
1 A F 14 10
2 A G 42 19
3 B C 4 12
4 B F 15 14
5 B G 12 6
จากผลลัพธ์เราจะเห็นได้ว่า:
- ผู้เล่นทีม A ตำแหน่ง “C” ทำไปทั้งหมด 9 แต้ม 6 รีบาวด์
- ผู้เล่นทีม A ตำแหน่ง “F” ทำคะแนนรวม 14 แต้ม 10 รีบาวด์
- ผู้เล่นทีม A ตำแหน่ง G ทำคะแนนรวม 42 แต้ม 19 รีบาวด์
และอื่นๆ
โปรดทราบว่าฟังก์ชัน reset_index() จะป้องกันไม่ให้การจัดกลุ่มคอลัมน์เป็นส่วนหนึ่งของดัชนี
ตัวอย่างเช่น นี่คือผลลัพธ์ที่จะเกิดขึ้นถ้าเราไม่ใช้มัน:
#group by team and position, sum points and rebounds
df. groupby ([' team ', ' position '])[' points ', ' rebounds ']. sum ()
rebound points
team position
A C 9 6
F 14 10
G 42 19
B C 4 12
F 15 14
G 12 6
ขึ้นอยู่กับว่าคุณต้องการให้ผลลัพธ์ปรากฏอย่างไร คุณอาจเลือกใช้ฟังก์ชัน reset_index() หรือไม่ก็ได้
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการดำเนินการจัดกลุ่มทั่วไปอื่น ๆ ในแพนด้า:
วิธีนับการพบเห็นฝูงแพนด้า
วิธีค้นหาค่าสูงสุดต่อกลุ่มที่ Pandas
วิธีการคำนวณควอไทล์ตามกลุ่มใน Pandas