Pandas: วิธีแสดง value_counts เป็นเปอร์เซ็นต์


คุณสามารถใช้ฟังก์ชัน value_counts() ใน pandas เพื่อนับการเกิดขึ้นของค่าในคอลัมน์ที่กำหนดของ DataFrame

หากต้องการแสดงค่าเป็นเปอร์เซ็นต์คุณสามารถใช้วิธีใดวิธีหนึ่งต่อไปนี้:

วิธีที่ 1: แสดงค่าเป็นเปอร์เซ็นต์ (จัดรูปแบบเป็นทศนิยม)

 df. my_col . value_counts (normalize= True )

วิธีที่ 2: แสดงค่าเป็นเปอร์เซ็นต์ (จัดรูปแบบด้วยสัญลักษณ์เปอร์เซ็นต์)

 df. my_col . value_counts (normalize= True ). mul ( 100 ). round ( 1 ). astype (str) + ' % '

วิธีที่ 3: แสดงมูลค่านับเป็นเปอร์เซ็นต์ (พร้อมจำนวน)

 counts = df. my_col . value_counts ()
percs = df. my_col . value_counts (normalize= True )
p.d. concat ([counts, percs], axis= 1 , keys=[' count ', ' percentage '])

ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับ Pandas DataFrame ต่อไปนี้:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'B', 'B', 'B', 'B', 'B', 'C'],
                   ' points ': [15, 12, 18, 20, 22, 28, 35, 40]})

#view DataFrame
print (df)

  team points
0 to 15
1 to 12
2 B 18
3 B 20
4 B 22
5 B 28
6 B 35
7 C 40

ตัวอย่างที่ 1: แสดงค่าเป็นเปอร์เซ็นต์ (จัดรูปแบบเป็นทศนิยม)

รหัสต่อไปนี้แสดงวิธีการนับการเกิดขึ้นของแต่ละค่าในคอลัมน์ ทีม และแสดงการเกิดขึ้นเป็นเปอร์เซ็นต์ของผลรวมทั้งหมด ในรูปแบบทศนิยม:

 #count occurrence of each value in 'team' column as percentage of total
df. team . value_counts (normalize= True )

B 0.625
At 0.250
C 0.125
Name: team, dtype: float64

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

  • ค่า B แสดงถึง 62.5% ของการเกิดขึ้นในคอลัมน์ทีม
  • ค่า A แสดงถึง 25% ของการเกิดขึ้นในคอลัมน์ทีม
  • ค่า C คิดเป็น 12.5% ของการเกิดขึ้นในคอลัมน์ทีม

โปรดทราบว่าเปอร์เซ็นต์จะถูกจัดรูปแบบเป็นทศนิยม

ตัวอย่างที่ 2: แสดงค่าเป็นเปอร์เซ็นต์ (จัดรูปแบบด้วยสัญลักษณ์เปอร์เซ็นต์)

รหัสต่อไปนี้แสดงวิธีการนับการเกิดขึ้นของแต่ละค่าในคอลัมน์ ทีม และแสดงการเกิดขึ้นเป็นเปอร์เซ็นต์ของผลรวม โดยจัดรูปแบบด้วยสัญลักษณ์เปอร์เซ็นต์:

 #count occurrence of each value in 'team' column as percentage of total
df. team . value_counts (normalize= True ). mul ( 100 ). round ( 1 ). astype (str) + ' % '

B 62.5%
At 25.0%
C 12.5%
Name: team, dtype: object

โปรดทราบว่าเปอร์เซ็นต์จะถูกจัดรูปแบบเป็นสตริงที่มีสัญลักษณ์เปอร์เซ็นต์

ตัวอย่างที่ 3: การแทนจำนวนค่าเป็นเปอร์เซ็นต์ (พร้อมตัวเลข)

รหัสต่อไปนี้แสดงวิธีการนับการเกิดขึ้นของแต่ละค่าในคอลัมน์ ทีม และแสดงการเกิดขึ้นเป็นตัวเลขและเปอร์เซ็นต์:

 #count occurrence of each value in 'team' column
counts = df. team . value_counts ()

#count occurrence of each value in 'team' column as percentage of total
percs = df. team . value_counts (normalize= True )

#concatenate results into one DataFrame
p.d. concat ([counts, percs], axis= 1 , keys=[' count ', ' percentage '])

        count percentage
B 5 0.625
At 2 0.250
C 1 0.125

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

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

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

Pandas: วิธีวางแผนบัญชีมูลค่า
Pandas: วิธีใช้ GroupBy และการนับค่า
Pandas: วิธีพล็อตฮิสโตแกรมตามกลุ่ม

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

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