我有一个包含以下值的Excel文件
我需要将a_id
的值与b_id
的所有值进行比较,如果匹配,我必须将a_flag
的值更新为1
,否则将{{1} }。
例如,取0
中的第一个值,即; a_tag
然后比较123
的所有值。当它到达b_id(113,211,222,123)
中的123
时,我们可以看到它匹配。因此,我们将b_id
的值更新为a_flag
。
就像那样,将1
的所有值与a_id
的所有值进行比较。因此,完成所有操作后,我们将在b_id
列中拥有1
或0
的值。
完成后,我们将获取a_flag
的第一个值,然后与b_id
列中的所有值进行比较,并相应地更新a_id
列。
最后我将获得以下数据。
我需要使用熊猫,因为我正在处理大量数据。以下是我的发现,但仅与b_flag
的第一个值进行比较。例如,它仅将b_id
(第一个值123
与a_id
(第一个值113
)进行比较。
b_id
答案 0 :(得分:1)
使用Series.isin
作为测试会员资格:
df1['a_flag'] = df3['a_id'].isin(df3['b_id']).astype(int)
df1['b_flag'] = df3['b_id'].isin(df3['a_id']).astype(int)