Pandas 字符串系列分成几个布尔列

Pandas string series into several Boolean columns

我有一个 DF,有 2 列,id 和 symptoms (int, string) 它看起来像这样:

id      symptoms
1       symptom1;symptom2 
2       symptom2;symptom3 
3       symptom1;symptom3;symptom4

我希望它将列更改为 id、symptom1、symptom2、symptom3、symptom4... 并且新列中的值将是 true/false,具体取决于原始列。 所以第一行将是:[id1, true, true, false, false,...]

我发现这个问题很接近:

但就我而言,我可能有几种症状,但我无法让它发挥作用。

关于如何做到这一点有什么建议吗?

试试 get_dummies

out = df.join(df.pop('symptoms').str.get_dummies(';').astype(bool))