在Pandas中获取虚拟变量,其中行包含多个变量作为列表?

时间:2017-01-26 21:57:03

标签: python pandas categorical-data dummy-variable

考虑一个Pandas数据框,其中有一列' id',此列的行包含代表类别的字符串列表。什么是获得虚拟变量的有效方法?

示例:

输入:

df1 = pd.DataFrame({'id': ['0,1', '24,25', '1,24']})

输出:

df2 = pd.DataFrame({'0':[1, 0, 0],
               '1': [1, 0, 1],
               '24':[0, 1, 1],
               '25':[0, 1, 0]})

1 个答案:

答案 0 :(得分:7)

使用get_dummies.str访问者版本:

df1['id'].str.get_dummies(sep=',')

结果输出:

   0  1  24  25
0  1  1   0   0
1  0  0   1   1
2  0  1   1   0