นุ่น: สร้างตารางความถี่ตามหลายคอลัมน์


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

 df. value_counts ([' column1 ',' column2 '])

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

ตัวอย่าง: สร้างตารางความถี่ใน Pandas โดยอิงจากหลายคอลัมน์

สมมติว่าเรามี DataFrame แพนด้าต่อไปนี้ซึ่งมีข้อมูลเกี่ยวกับชื่อทีม ตำแหน่ง และคะแนนที่ผู้เล่นบาสเก็ตบอลหลายคนทำได้:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' position ': ['G', 'G', 'G', 'F', 'G', 'G', 'F', 'F'],
                   ' points ': [24, 33, 20, 15, 16, 16, 29, 25]})

#view DataFrame
print (df)

  team position points
0 AG 24
1 AG 33
2 AG 20
3 AF15
4 BG 16
5 BG 16
6 BF 29
7 BF 25

เราสามารถใช้ฟังก์ชัน value_counts() เพื่อสร้างตารางความถี่ที่แสดงการเกิดขึ้นของค่าผสมแต่ละค่าในคอลัมน์ ทีม และ ตำแหน่ง :

 #count frequency of values in team and position columns
df. value_counts ([' team ',' position '])

team position
GA 3
BF 2
      G2
AF1
dtype: int64

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

  • มี 3 นัดคือทีม A และตำแหน่ง G
  • มี 2 ครั้งคือทีม B และตำแหน่ง F
  • มี 2 ครั้งคือทีม B และตำแหน่ง G
  • มีทีม A และตำแหน่ง F เกิดขึ้น 1 ครั้ง

โปรดทราบว่าเราสามารถใช้ reset_index() เพื่อส่งคืน DataFrame แทน:

 #count frequency of values in team and position columns and return DataFrame
df. value_counts ([' team ',' position ']). reset_index ()

        team position 0
0 A G 3
1 B F 2
2 B G 2
3 A F 1

เราสามารถใช้ฟังก์ชัน rename() เพื่อเปลี่ยนชื่อคอลัมน์ที่มีการนับ:

 #get frequency of values in team and position column and rename count column
df. value_counts ([' team ',' position ']). reset_index (). rename (columns={0:' count '})

        team position count
0 A G 3
1 B F 2
2 B G 2
3 A F 1

ผลลัพธ์ที่ได้คือ DataFrame ที่มีความถี่ของค่าผสมที่ไม่ซ้ำกันแต่ละค่าในคอลัมน์ ทีม และ ตำแหน่ง

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

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

Pandas: วิธีใช้ GroupBy และการนับค่า
Pandas: วิธีใช้ GroupBy พร้อมจำนวนถังขยะ
Pandas: วิธีนับค่าในคอลัมน์ที่มีเงื่อนไข

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

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