นุ่น: วิธีคำนวณเปอร์เซ็นต์ของผลรวมภายในกลุ่ม


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

 df[' values_var '] / df. groupby (' group_var ')[' values_var ']. transform (' sum ')

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

ตัวอย่าง: คำนวณเปอร์เซ็นต์ของผลรวมภายในกลุ่ม

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'],
                   ' points ': [12, 29, 34, 14, 10, 11, 7, 36, 34, 22]})

#view DataFrame
print (df)

  team points
0 to 12
1 to 29
2 to 34
3 to 14
4 to 10
5 B 11
6 B 7
7 B 36
8 B 34
9 B 22

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

 #calculate percentage of total points scored grouped by team
df[' team_percent '] = df[' points '] / df. groupby (' team ')[' points ']. transform (' sum ')

#view updated DataFrame
print (df)

  team points team_percent
0 A 12 0.121212
1 A 29 0.292929
2 A 34 0.343434
3 A 14 0.141414
4 A 10 0.101010
5 B 11 0.100000
6 B 7 0.063636
7 B 36 0.327273
8 B 34 0.309091
9 B 22 0.200000

คอลัมน์ team_percent ระบุเปอร์เซ็นต์ของคะแนนรวมที่ทำโดยผู้เล่นรายนี้ในทีมของเขา

เช่น ผู้เล่นทีม A ทำคะแนนได้ทั้งหมด 99 คะแนน

ดังนั้นผู้เล่นในแถวแรกของ DataFrame ที่ทำคะแนนได้ 12 คะแนนได้คะแนนรวม 12/99 = 12.12% ของคะแนนรวมของทีม A

ในทำนองเดียวกัน ผู้เล่นในแถวที่สองของ DataFrame ที่ได้คะแนน 29 คะแนนได้คะแนนรวม 29/99 = 29.29% ของคะแนนรวมของทีม A

และอื่นๆ

หมายเหตุ : คุณสามารถค้นหาเอกสารฉบับเต็มสำหรับฟังก์ชัน GroupBy ได้ที่นี่

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

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

นุ่น: วิธีคำนวณผลรวมสะสมต่อกลุ่ม
Pandas: วิธีนับค่าที่ไม่ซ้ำตามกลุ่ม
Pandas: วิธีคำนวณโหมดตามกลุ่ม
นุ่น: วิธีคำนวณความสัมพันธ์ตามกลุ่ม

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

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