我有一个类似这样的数据框:
df = pd.DataFrame({'a':[1,0,1],'b':[0,1,0],'b1':[1,0,0],'c':[0,1,1]})
df.columns = ['a','b','b','c']
>>> df
a b b c
0 1 0 1 0
1 0 1 0 1
2 1 0 0 1
我想把这两个不同的
b
列合并在一起,像这样: a b c
0 1 1 0
1 0 1 1
2 1 0 1
我知道在位运算的上下文中可以使用 |
(或)将它们组合起来,例如与 a
和 c
一起使用:
>>> df['a'] | df['c']
0 1
1 1
2 1
dtype: int64
但我在选择两个单独的 b
列时遇到了问题,原因是这样的:
>>> df['b']
b b
0 0 1
1 1 0
2 0 0
>>> df['b']['b']
b b
0 0 1
1 1 0
2 0 0
>>> df['b']['b']['b']['b']['b']['b']['b']['b']['b']['b']['b']['b']['b']['b']['b']['b']['b']['b']['b']['b']['b']['b']['b']['b']['b']['b']['b']
b b
0 0 1
1 1 0
2 0 0
df["b"].sum(axis=1).clip(0, 1)
? Ordf["b"].apply(lambda x: x[0]|x[1], axis=1)
- not_speshal