【发布时间】:2023-02-01 02:14:25
【问题描述】:
我有一个包含逗号分隔字符串的列的数据框。我想创建类似于一种热编码的新列。
下面是一个非常简单的例子。在我的用例中,我有数千行和更多列,两列包含逗号分隔许多字符串。我本可以使用 apply+lamda function+string contains condition 来创建每一列,但这非常乏味,因为它将有 100 多个新列
输入数据帧
ColumnA ColumnB
1 {"alpha", "bravo"}
2 {"bravo", "charlie"}
3 {"alpha", "charlie","gama"}
4 {"bravo", "charlie","delta"}
输出数据框
ColumnA alpha bravo charlie delta gamma
1 1 1 0 0 0
2 0 1 0 0 0
3 1 0 1 0 1
4 0 1 1 1 0
【问题讨论】:
-
看起来不像逗号分隔的字符串,
{/"/}是字符串的一部分吗?df.head().to_dict('list')的输出是什么?
标签: python pandas dataframe one-hot-encoding