Pandas 如果行中有任何1,则返回1,否则返回0

Pandas 如果行中有任何1,则返回1,否则返回0,pandas,Pandas,我有一个带有二进制变量(1或0)的数据集。 我想创建一个新的变量,如果任何一组特定的变量(在下面的例子中为X2、X3、X4)得到1,则该变量的值为1, 否则为0 数据说明: X1 X2 X3 X4 34 0 0 0 26 0 1 1 89 1 0 0 预期结果: X1 X2 X3 X4 New 34 0 0 0 0 26 0 1 1 1 89 1 0 0 1 通过测试每行至少一个1,并将其转换为intege

我有一个带有二进制变量(1或0)的数据集。 我想创建一个新的变量,如果任何一组特定的变量(在下面的例子中为X2、X3、X4)得到1,则该变量的值为1, 否则为0

数据说明:

X1  X2  X3  X4
34  0   0   0
26  0   1   1
89  1   0   0
预期结果:

X1  X2  X3  X4  New
34  0   0   0   0
26  0   1   1   1
89  1   0   0   1

通过测试每行至少一个
1
,并将其转换为
integer
s:

df['new'] = df[['X2', 'X3', 'X4']].any(axis=1).astype(int)
或使用:

或:


df['new'] = df[['X2', 'X3', 'X4']].any(axis=1).view('i1')
df['new'] = np.where(df[['X2', 'X3', 'X4']].any(axis=1), 1, 0)
print (df)
   X1  X2  X3  X4  new
0  34   0   0   0    0
1  26   0   1   1    1
2  89   1   0   0    1