我有一个数据框如下(示例如下)
Date event A B C D
2015-10-01 A 1 0 0 0
2015-10-02 A|B 1 1 0 0
2015-11-01 C 0 0 1 0
2015-10-07 D 0 0 0 1
这里 A 表示仅发生了事件 A,A|B 表示 A 和 B 都发生在特定的一天。现在我已经为该事件形成了虚拟变量,如上所述。随后我想将 B、C 和 D 加入一项名为“小”的赛事。所以我的输出看起来像:
Date event A Minor
2015-10-01 A 1 0
2015-10-02 A|B 1 1
2015-11-01 C 0 1
2015-10-07 D 0 1
正如您在第二行中看到的,Minor 等于 1,因为 B 也发生在这一天。我有点困惑如何解决这个问题。实际上,我有 20 多列需要分组为次要的列。任何帮助将不胜感激。
最佳答案
使用分配
+ 删除
cols = list('BCD')
df.assign(Minor=df[cols].sum(1)).drop(cols, 1)
Date event A Minor
0 2015-10-01 A 1 0
1 2015-10-02 A|B 1 1
2 2015-11-01 C 0 1
3 2015-10-07 D 0 1
关于python - 虚拟变量python的数据操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41951765/