大熊猫中的简单数据框:
A B C
1 1
1 0
0 1
0 0
说,如果A和B都为1,我想用1填充C列,否则为0。 如果我尝试执行以下操作:
if df['A'] == 1 and df['B'] == 1:
df['C'] = 1
else:
df['C'] = 0
我得到类似:
系列的真值不明确。使用a.empty,a.bool(),a.item(),a.any()或a.all()。
哪种代码将是最有效的,应该如何使用?
答案 0 :(得分:1)
df.assign(C=df.A * df.B)
A B C
0 1 1 1
1 1 0 0
2 0 1 0
3 0 0 0
all
不要这样做
df.assign(C=df[['A', 'B']].astype(bool).all(1).astype(int))
A B C
0 1 1 1
1 1 0 0
2 0 1 0
3 0 0 0