我想在有數據的列表中列出的機器學習算法的數據養活:如何獨熱編碼數據幀,每一行都有列出
例如病人可能有幾種藥物和幾個他們可能也有名字的藥物反應。因此,如果他們服用超過1種藥物,它將列入2個或更多的列表。他們只有一個名字。
我相信一個熱門的編碼是正確的方法。
這是我迄今所做的:
我有一個數據幀:
df = pandas.DataFrame([{'drug': ['drugA','drugB'], 'patient': 'john'}, {'drug': ['drugC','drugD'], 'patient': 'angel'}])
drug patient
0 [drugA, drugB] john
1 [drugC, drugD] angel
我想要得到的東西,如:
drugA drugB drugC drugD patient
0 1 1 0 0 john
0 0 0 1 1 angel
我嘗試這樣做:
pandas.get_dummies(df.apply(pandas.Series).stack()).sum(level=0)
但是得到了:
TypeError: unhashable type: 'list'