Python 根据其他两个标志的值计算标志

Python 根据其他两个标志的值计算标志,python,pandas,Python,Pandas,我有三个字段,client_id、flag_1(0或1)和flag_2(0或1)。对于每个客户机,我需要计算标志_3,如果标志_1==1和标志_2==1,则标志_3应等于1,否则为0 我试过: df['flag_3'] = [1 if x==1 and y==1 else 0 for x in df['flag_1'] and y in df['flag_2']] df['flag_3'] = np.where(df['flag_1'] == 1 and df['flag_2'] == 1,

我有三个字段,client_id、flag_1(0或1)和flag_2(0或1)。对于每个客户机,我需要计算标志_3,如果标志_1==1和标志_2==1,则标志_3应等于1,否则为0

我试过:

df['flag_3'] = [1 if x==1 and y==1 else 0 for x in df['flag_1'] and y in df['flag_2']]

df['flag_3'] = np.where(df['flag_1'] == 1 and df['flag_2'] == 1, 1, 0)

…出现诸如“序列的真值不明确”之类的错误。

您正在使用布尔索引选择行,索引应使用二进制“&”组合


您需要使用位运算符(&)而不是逻辑运算符(and)…获取诸如“序列的真值不明确”之类的错误。请提供完整的错误输出以及。这是否回答了您的问题?
df['flag_3'] = np.where((df['flag_1'] == 1) & (df['flag_2'] == 1), 1, 0)