Pandas: วิธีใช้ groupby และการนับค่า


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

 df. groupby ([' column1 ', ' column2 ']). size (). unstack (fill_value= 0 )

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

ตัวอย่าง: การใช้ GroupBy และการนับค่าใน Pandas

สมมติว่าเรามี DataFrame แพนด้าดังต่อไปนี้:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'],
                   ' position ':['G', 'G', 'F', 'F', 'C', 'G', 'F', 'F', 'F', 'F'],
                   ' points ': [8, 8, 10, 10, 11, 8, 9, 10, 10, 10]})

#view DataFrame
print (df)

  team position points
0 AG 8
1 GA 8
2 AF10
3 AF 10
4 AC 11
5 BG 8
6 BF 9
7 BF 10
8 BF 10
9 BF 10

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

 #count frequency of points values, grouped by team and position
df. groupby ([' team ',' position ',' points ']). size (). unstack (fill_value= 0 )

	points 8 9 10 11
team position				
A C 0 0 0 1
        F 0 0 2 0
        G 2 0 0 0
B F 0 1 3 0
        G 1 0 0 0

ต่อไปนี้เป็นวิธีการตีความผลลัพธ์:

  • ค่า 8 ปรากฏ 0 ครั้งในคอลัมน์คะแนนสำหรับผู้เล่นจากทีม A และตำแหน่ง C
  • ค่า 9 ปรากฏ 0 ครั้งในคอลัมน์คะแนนสำหรับผู้เล่นจากทีม A และตำแหน่ง C
  • ค่า 10 ปรากฏ 0 ครั้งในคอลัมน์คะแนนสำหรับผู้เล่นจากทีม A และตำแหน่ง C
  • ค่า 11 ปรากฏในคอลัมน์คะแนน 1 ครั้งสำหรับผู้เล่นจากทีม A และตำแหน่ง C

และอื่นๆ

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

 #count frequency of positions, grouped by team
df. groupby ([' team ', ' position ']). size (). unstack (fill_value= 0 )

position C F G
team			
A 1 2 2
B 0 4 1

ต่อไปนี้เป็นวิธีการตีความผลลัพธ์:

  • ค่า ‘C’ เกิดขึ้น 1 ครั้งในทีม A
  • ค่า ‘F’ ปรากฏ 2 ครั้งในทีม A
  • ค่า ‘G’ ปรากฏ 2 ครั้งในทีม A
  • ค่า ‘C’ เกิดขึ้น 0 ครั้งในทีม B
  • ค่า ‘F’ เกิดขึ้น 4 ครั้งในทีม B
  • ค่า ‘G’ เกิดขึ้น 1 ครั้งในทีม B

และอื่นๆ

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

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

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

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

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