我有两个数据帧df1包含100K行,df2包含600万行。我想修复'SoftDel ???'的值当'id'在df2中匹配时,df1中的列。代码工作但结果是错误的。
我已经使用合并完成了这项任务,结果令人满意,但想知道为什么以下产生了错误的结果?
for x, y in df1.iterrows():
if y['id'] in df2['id']:
df1.loc[x,'SoftDel???'] = 'No'
答案 0 :(得分:2)
y['id']
是一个浮点数。但是,df2['id']
是一个系列。 in
运算符不适用于将一系列作为参数之一。