我一直在努力解决这个问题,我无法弄明白。
我有一些我正在准备的数据,在此过程中,我必须将数据的某些分类部分转换为二进制文件,使用虚拟对象(我想)。
问题是我的原始数据中的某些条目实际上“属于”所涉及的特定维度的一个或多个类别,我希望在下面的示例中清楚这一点。我希望能够将一个条目归因于多个类别,或者对于那些允许这样做的假人(或其他任何事情)进行某种解决方法。
我看起来像这样:
In [116]: df_sample
Out[116]:
A B C
0 A1 12.000000 CAT1
1 A2 0.029767 CAT2
2 A3 -2.321058 CAT3
3 A4 121.000000 CAT1,CAT2
4 A5 0.493182 CAT3
使用pd.get_dummies()
我得到了这个(有道理):
In [117]: pd.get_dummies(df_sample.C)
Out[117]:
CAT1 CAT1,CAT2 CAT2 CAT3
0 1.0 0.0 0.0 0.0
1 0.0 0.0 1.0 0.0
2 0.0 0.0 0.0 1.0
3 0.0 1.0 0.0 0.0
4 0.0 0.0 0.0 1.0
但事实上,我想找到一种方法来解决这个问题:
>>> pd.get_dummies(df_sample.C)
CAT1 CAT2 CAT3
0 1.0 0.0 0.0
1 0.0 1.0 0.0
2 0.0 0.0 1.0
3 1.0 1.0 0.0
4 0.0 0.0 1.0
在CAT1
和CAT2
上打开第三行。
感谢任何帮助!
答案 0 :(得分:2)
在sep=','
get_dummies()
In [379]: df_sample['C'].str.get_dummies(sep=',')
Out[379]:
CAT1 CAT2 CAT3
0 1 0 0
1 0 1 0
2 0 0 1
3 1 1 0
4 0 0 1