在Pandas系列中使用“in”运算符时结果不正确?

时间:2017-08-27 05:55:40

标签: python pandas series

我有两个数据帧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'

1 个答案:

答案 0 :(得分:2)

y['id']是一个浮点数。但是,df2['id']是一个系列。 in运算符不适用于将一系列作为参数之一。