我的数据框位于
之下Sex type
M A
W B
W A
M C
我想得到以下结果
M W A B C
1 0 1 0 0
0 1 0 1 0
0 1 1 0 0
1 0 0 0 1
我试过
df['Sex','type'].get_dummies()
但是效果不好。
我怎样才能得到这个结果?
答案 0 :(得分:3)
我似乎需要pandas.get_dummies
:
print (pd.get_dummies(df, prefix_sep='', prefix=''))
M W A B C
0 1 0 1 0 0
1 0 1 0 1 0
2 0 1 1 0 0
3 1 0 0 0 1
此外,如果列groupby
和axis=1
以及汇总level=0
需要列名称中的某些重复项max
:
print (pd.get_dummies(df, prefix_sep='', prefix='').groupby(axis=1, level=0).max())
A B C M W
0 1 0 0 1 0
1 0 1 0 0 1
2 1 0 0 0 1
3 0 0 1 1 0