ฉันมีกรอบข้อมูลที่บันทึกการตอบสนองการเลือกภาษาของคนจำนวน 19717 โปรแกรมผ่านคำถามแบบปรนัย แน่นอนว่าคอลัมน์แรกนั้นเป็นเพศของผู้ตอบขณะที่ส่วนที่เหลือเป็นตัวเลือกที่พวกเขาเลือก และด้วยเหตุนี้ถ้าฉันเลือก Python การตอบสนองของฉันจะถูกบันทึกในคอลัมน์ Python ไม่ใช่การทุบตีและในทางกลับกัน
ID Gender Python Bash R JavaScript C++
0 Male Python nan nan JavaScript nan
1 Female nan nan R JavaScript C++
2 Prefer not to say Python Bash nan nan nan
3 Male nan nan nan nan nan
สิ่งที่ฉันต้องการคือตารางที่ส่งคืนจำนวนอินสแตนซ์แต่ละหมวดหมู่ภายใต้Gender
ระเบียน ดังนั้นหากผู้ชาย 5,000 คนเขียนรหัสใน Python และผู้หญิง 3,000 คนใน JS ฉันควรได้รับสิ่งนี้:
Gender Python Bash R JavaScript C++
Male 5000 1000 800 1500 1000
Female 4000 500 1500 3000 800
Prefer Not To Say 2000 ... ... ... 860
ฉันลองตัวเลือกบางตัวแล้ว:
df.iloc[:, [*range(0, 13)]].stack().value_counts()
Male 16138
Python 12841
SQL 6532
R 4588
Female 3212
Java 2267
C++ 2256
Javascript 2174
Bash 2037
C 1672
MATLAB 1516
Other 1148
TypeScript 389
Prefer not to say 318
None 83
Prefer to self-describe 49
dtype: int64
และไม่ใช่สิ่งที่จำเป็นตามที่อธิบายไว้ข้างต้น สิ่งนี้สามารถทำได้ในแพนด้าหรือไม่?
Gender
ดัชนี