2016-12-05 69 views
4

新列我有类似下面的数据框:如何单元格值作为大熊猫数据帧

Labels 
1 Nail_Polish,Nails 
2 Nail_Polish,Nails 
3 Foot_Care,Targeted_Body_Care 
4 Foot_Care,Targeted_Body_Care,Skin_Care 

我想生成以下矩阵:

Nail_Polish Nails Foot_Care Targeted_Body_Care Skin_Care 
1  1   1   0    0    0 
2  1   1   0    0    0 
3  0   0   1    1    0 
4  0   0   1    1    1 

我怎样才能做到这一点?

回答

4

使用str.get_dummies

df2 = df['Labels'].str.get_dummies(sep=',') 

输出结果:

Foot_Care Nail_Polish Nails Skin_Care Targeted_Body_Care 
1   0   1  1   0     0 
2   0   1  1   0     0 
3   1   0  0   0     1 
4   1   0  0   1     1 
+0

如果我有另一个新行: 5 Foot_Care,钉子 我怎样才能将它添加到矩阵? –

+0

理想情况下,您需要等到您拥有所有需要的行,然后一次完成所有行。如果这是不可能的,则使用与上述相同的过程,然后使用'concat',并可能使用'fillna(0)'来组合旧行和新行。 – root