Pandas 从分类变量到二进制变量

Pandas 从分类变量到二进制变量,pandas,categorical-data,data-processing,Pandas,Categorical Data,Data Processing,我有一个如下所示的数据帧: 我在“Concepts_clean”列中有不同的标签,我想自动填充其他标签,如下所示: 例如:第四行,列“Concepts_clean”我有['acueil-Amabilité','Tarifs'],然后我想用1填充列“acueil-Amabilité”和'Tarifs',所有其他列用零填充 最有效的方法是什么 谢谢这更像是一个n-hot编码问题- >>> def change_df(x): ... for i in x['Concepts_cl

我有一个如下所示的数据帧:

我在“Concepts_clean”列中有不同的标签,我想自动填充其他标签,如下所示:

例如:第四行,列“Concepts_clean”我有['acueil-Amabilité','Tarifs'],然后我想用1填充列“acueil-Amabilité”和'Tarifs',所有其他列用零填充

最有效的方法是什么


谢谢

这更像是一个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

需要
df=df.fillna(0)
?不完全是因为我想要的是“概念”中的标签,我不知道这是否清晰。请花时间阅读这篇文章以及如何提供答案并相应地修改您的问题。这些提示可能也很有用。