gpt4 book ai didi

python-3.x - 如何从具有多个值和预定义类别的列表中创建虚拟对象?

转载 作者:行者123 更新时间:2023-12-04 00:02:48 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How to one-hot-encode from a pandas column containing a list?

(6 个回答)


2年前关闭。




我想改变这个:

In [4]: df
Out[4]:
label
0 (a, e)
1 (a, d)
2 (b,)
3 (d, e)

到这个:
   a  b  c  d  e
0 1 0 0 0 1
1 1 0 0 1 0
2 0 1 0 0 0
3 0 0 0 1 1

如您所见,有预定义的列,'a'、'b'、'c'、'd'、'e' 和 c 为空但仍然存在。

我尝试了很多这样的事情:df.str.join('|').str.get_dummies()
首先没有所有的列只是为了在输入中获取具有多个值的虚拟对象,但我想向其中添加预定义的列。

感谢您的帮助 !

最佳答案

sklearn 的良好做法

from sklearn.preprocessing import MultiLabelBinarizer

mlb = MultiLabelBinarizer()

print (pd.DataFrame(mlb.fit_transform(df['label']),columns=mlb.classes_, index=df.index))

关于python-3.x - 如何从具有多个值和预定义类别的列表中创建虚拟对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56939513/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com