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

Get dummy variables in Pandas where rows contain multiple variables as a list?

考虑一个 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]})

使用 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