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: วิธีพล็อตฮิสโตแกรมตามกลุ่ม