首页 > 解决方案 > 使用不在列中的元素对 Pandas 上的列进行 One-Hot 编码

问题描述

我的数据框:

Index letters
0     A
1     B
2     D
3     Z

在 Python 中,我想获取上面字母列的单热编码数据帧,其中包含不在列中的元素,如下所示:

Index A B C D E K Z
0     1 0 0 0 0 0 0
1     0 1 0 0 0 0 0
2     0 0 0 1 0 0 0
3     0 0 0 0 0 0 1

标签: pythonpandasdataframeone-hot-encoding

解决方案


用于get_dummies此:

df = pd.get_dummies(df)
df.columns = df.columns.str.replace('letters_', '')
print(df)


   Index  A  B  D  Z
0      0  1  0  0  0
1      1  0  1  0  0
2      2  0  0  1  0
3      3  0  0  0  1

推荐阅读