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

Shr*_*ree 3 python pandas categorical-data dummy-variable

考虑一个具有列"id"的Pandas数据帧,该列的行包含表示类别的字符串列表.获取虚拟变量的有效方法是什么?

例:

输入:

df1 = pd.DataFrame({'id': ['0,1', '24,25', '1,24']})
Run Code Online (Sandbox Code Playgroud)

输出:

df2 = pd.DataFrame({'0':[1, 0, 0],
               '1': [1, 0, 1],
               '24':[0, 1, 1],
               '25':[0, 1, 0]})
Run Code Online (Sandbox Code Playgroud)

roo*_*oot 7

使用.str访问者版本get_dummies:

df1['id'].str.get_dummies(sep=',')
Run Code Online (Sandbox Code Playgroud)

结果输出:

   0  1  24  25
0  1  1   0   0
1  0  0   1   1
2  0  1   1   0
Run Code Online (Sandbox Code Playgroud)