首页 > 解决方案 > 从每个单元格中提取类别并对其进行编码

问题描述

我需要对 column1 的值进行编码。我知道 dtype 何时是分类的,或者它只有一个值。但是对于这种情况,我该怎么办?

Column1  x_val y_val z_val 
   x; y    1     1     0
   y;z;x   1     1     1 
   x       1     0     0
   z;x     1     0     1
   x       1     0     0
   NaN     ?     ?     ?

注意:x_val、y_val、z_val 是所需的列

标签: pythonpandasscikit-learn

解决方案


使用pandas.Str.get_dummies

new_df = df["Column1"].str.get_dummies(";").add_suffix("_val")
new_df.loc[~new_df.any(1)] = '?'
print(new_df)

输出:

  x_val y_val z_val
0     1     1     0
1     1     1     1
2     1     0     0
3     1     0     1
4     1     0     0
5     ?     ?     ?

推荐阅读