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))
我有一个 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))