Pandas 如果行中有任何1,则返回1,否则返回0
我有一个带有二进制变量(1或0)的数据集。 我想创建一个新的变量,如果任何一组特定的变量(在下面的例子中为X2、X3、X4)得到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
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