我有一个Pandas python数据框,其中有一列只是一个标记列表,有点像下面所示。
Index | User_Details | Tags
------|--------------|-------
0 | A |[tag_a, tag_b]
1 | B |-
2 | C |[tag_a]
.... | ... |....
此列表列包含未知的,不同数量的标记,用户可以没有,一个或多个。它们以逗号分隔。我想要做的是把它变成一个布尔表,如下所示:
Index | User_Details | tag_a | tag_a
------|--------------|-------|-------
0 | A |1 |1
1 | B |0 |0
2 | C |1 |0
.... | ... |.... |...
我发现这里的一些事情是在标签有限并且全部已知时执行此操作。通常只有3个标签,但我看起来最多30个。
有什么想法吗?
由于
注意:这与How to one-hot-encode from a pandas column containing a list?不同,因为我的某些标记行不包含任何数据。使用任何应用的方法通常会导致以下方面的失败: TypeError:类型为' float'的对象没有len()