我正在寻找一种处理以下问题的Python方法。
该pandas.get_dummies()
方法非常适合从数据框的分类列创建虚拟对象。例如,如果列中的值为['A', 'B']
,则get_dummies()
创建2个哑变量并相应地分配0或1。
现在,我需要处理这种情况。称为“标签”的单个列具有类似的值['A', 'B', 'C', 'D', 'A*C', 'C*D']
。get_dummies()
创建6个假人,但我只想要4个假人,所以一行可以有多个1。
有没有办法以pythonic的方式处理这个问题?我只能想到一些逐步的算法来获取它,但是其中不包括get_dummies()。谢谢
编辑,希望更清楚!
我知道自问这个问题以来已经有一段时间了,但是(至少 现在 有)文档支持的单行代码:
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从类别变量中创建一系列虚拟变量。我遇到过该函数,但是每当我尝试调用该函数时,都会收到一个错误,提示您未定义名称。 创建虚拟变量的任何想法或其他方式将不胜感激。 编辑 :由于其他人似乎遇到了这种情况,因此熊猫中的函数现在可以正常工作了。这意味着以下应该起作用: 有关更多信息,请参见http://blog.yhathq.com/posts/logi
我试图在python中使用pandas从一个分类变量创建一系列伪变量。我遇到了函数,但每当我尝试调用它时,都会收到一个错误,即名称未定义。 任何创建虚拟变量的想法或其他方法都将受到欢迎。 编辑:由于其他人似乎遇到了这种情况,熊猫中的功能现在运行得非常好。这意味着以下各项应起作用: 看见http://blog.yhathq.com/posts/logistic-regression-and-pyth
我有一个数据框架,我想从其中一列的列表中创建5列 示例: 请注意,这里很少有列表少于5列,对于这些列,请在该位置插入NAN。
问题内容: 如果我选择SELECT AS b且b不是表中的列,查询会创建“虚拟”列吗? 实际上,我需要将一些虚拟列合并到查询中,并将一些信息处理到查询中,以便以后可以在每个项目中使用它。 问题答案: 就像是: 这使您可以进行操作并将其显示为列。 编辑: 您还可以使用联接并将操作显示为列:
问题内容: 我尝试使用插入一些虚拟数据到我的表中,但是它的运行速度确实非常慢。 我在想,也许我编写的代码不正确,请您看看并确认一下吗? 问题答案: 如果只对所有4999行进行一次插入,则与在循环中执行4999个单独的插入语句相比,您将获得更好的性能。因此,如果您的表#T包含4999行,则只需调用以下命令: 如果您首先需要创建一个包含4999行的表,那么以下SQL将为您工作:
谈到R编码,我目前有点墨守成规。我一直在尝试使用mutate、seq和rep函数来生成一个新列,该列迭代多个列值和不同的条件,但结果并不正确。下面是我的一些数据片段: 我希望按类型和特征 ID 对 lipidName 进行分组,然后查看类型特征 ID2,而不是不正确的数据表。如果它们具有相同的类型和特征 ID,则将它们计为脂质名称的相同脂质。如果它们具有相同的类型和特征ID2,则将它们计为脂质名称