Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

เขียนโปรแกรม Python นับจำนวนรายการตามตำแหน่งงาน (Designation) ใน DataFrame

สมมติว่าคุณมี DataFrame และต้องการนับจำนวนพนักงานแยกตามตำแหน่งงาน (Designation)

วิธีแก้ปัญหา

  1. สร้าง DataFrame ที่มีคอลัมน์ Designation
  2. ใช้ df.groupby('Designation').count() นับจำนวนต่อกลุ่ม

ตัวอย่างโค้ด

import pandas as pd

data = {'Id': [1, 2, 3, 4, 5],
        'Designation': ['architect', 'scientist', 'programmer', 'scientist', 'programmer']}

df = pd.DataFrame(data)
print("DataFrame:\n", df)

print("\nจำนวนรายการต่อตำแหน่งงาน:")
print(df.groupby('Designation').count())

ผลลัพธ์

DataFrame:
   Id  Designation
0   1   architect
1   2   scientist
2   3  programmer
3   4   scientist
4   5  programmer

จำนวนรายการต่อตำแหน่งงาน:
            Id
Designation
architect     1
programmer    2
scientist     2

คำอธิบาย:

  • groupby('Designation') จัดกลุ่มแถวตามค่าในคอลัมน์ Designation
  • .count() นับจำนวน non-null values ในแต่ละคอลัมน์ต่อกลุ่ม
  • ผลลัพธ์แสดง column 'Id' เพราะเป็นคอลัมน์ตัวเลขที่นับได้ (คอลัมน์ Designation เป็น index แล้ว)
  • ใช้ size() แทน count() ถ้าต้องการนับรวม NaN ด้วย
  • ใช้ df['Designation'].value_counts() ได้ผลลัพธ์คล้ายกันแต่เป็น Series