Tôi có khung dữ liệu ghi lại câu trả lời của 19717 sự lựa chọn ngôn ngữ lập trình của mọi người thông qua các câu hỏi trắc nghiệm. Cột đầu tiên tất nhiên là giới tính của người trả lời trong khi phần còn lại là lựa chọn họ chọn. Và do đó nếu tôi chọn Python thì phản hồi của tôi sẽ được ghi lại trong cột Python chứ không phải bash và ngược lại.
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
Những gì tôi muốn là một bảng trả về số lượng phiên bản của mỗi thể loại theo Gender
hồ sơ. Do đó, nếu 5000 người đàn ông được mã hóa bằng Python và 3000 phụ nữ trong JS, thì tôi sẽ nhận được điều này:
Gender Python Bash R JavaScript C++
Male 5000 1000 800 1500 1000
Female 4000 500 1500 3000 800
Prefer Not To Say 2000 ... ... ... 860
Tôi đã thử một số tùy chọn:
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
Và đó không phải là những gì được yêu cầu như mô tả ở trên. Điều này có thể được thực hiện trong gấu trúc?
Gender
chỉ mục.