分类变量到二进制变量

categorical variables to binary variables

我有一个如下所示的 DataFrame : initial dataframe

我在 'Concepts_clean' 列中有不同的标签,我想像这样自动填充其他标签:resulting dataframe

例如:第四行,列 'Concepts_clean" 我有 ['Accueil Amabilité', 'Tarifs'] 然后我想填充列 'Accueil Amabilité' 和 'Tarifs' 为 1,所有其他为 0。

最有效的方法是什么?

谢谢

这更像是一个 n-hot 编码问题 -

>>> def change_df(x):
...  for i in x['Concepts_clean'].replace('[','').replace(']','').split(','):
...   x[i.strip()] = 1
...  return x
...
>>> df.apply(change_df, axis=1)

示例输出

Concepts_clean          Ecoute  Informations  Tarifs
[Tarifs]                 0.0           0.0     1.0
[]                       0.0           0.0     0.0
[Ecoute]                 1.0           0.0     0.0
[Tarifs, Informations]   0.0           1.0     1.0