gpt4 book ai didi

python - 从 Pandas 中具有多个值的列创建假人

转载 作者:IT老高 更新时间:2023-10-28 22:10:25 25 4
gpt4 key购买 nike

我正在寻找一种pythonic方法来处理以下问题。

pandas.get_dummies() 方法非常适合从数据框的分类列创建虚拟对象。例如,如果列在 ['A', 'B'] 中有值,get_dummies() 会创建 2 个虚拟变量并相应地分配 0 或 1。

现在,我需要处理这种情况。单列,我们称之为“标签”,具有 ['A', 'B', 'C', 'D', 'A*C', 'C*D'] 之类的值. get_dummies() 创建了 6 个假人,但我只想要其中的 4 个,这样一行就可以有多个 1。

有没有办法以 Python 的方式处理这个问题?我只能想一些逐步的算法来获得它,但这不包括 get_dummies()。谢谢

已编辑,希望更清楚!

最佳答案

我知道这个问题被问到已经有一段时间了,但有(至少现在有)一个由 the documentation 支持的单行代码。 :

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

In [5]: df['label'].str.join(sep='*').str.get_dummies(sep='*')
Out[5]:
a b c d e
0 1 0 1 0 1
1 1 0 0 1 0
2 0 1 0 0 0
3 0 0 0 1 1

关于python - 从 Pandas 中具有多个值的列创建假人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18889588/

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