【发布时间】:2013-09-24 05:41:47
【问题描述】:
我正在寻找一种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()。 谢谢
已编辑,希望更清楚!
【问题讨论】:
-
你不能只选择你想调用
get_dummies()的列吗?喜欢df[['A', 'B', 'C','D']].get_dummies()? -
A、B、C、C*D等,是单列的值。
-
好的明白,
df[df.col.isin(['A','B','C'])].get_dummies()会这样吗?这将过滤掉您不想为其生成虚拟值的值
标签: python pandas dummy-data categorical-data