使用熊猫将一个列的值与另一列的所有值进行比较

时间:2019-04-22 07:16:37

标签: excel python-3.x pandas dataframe

我有一个包含以下值的Excel文件

enter image description here

我需要将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列中拥有10的值。

完成后,我们将获取a_flag的第一个值,然后与b_id列中的所有值进行比较,并相应地更新a_id列。

最后我将获得以下数据。

enter image description here

我需要使用熊猫,因为我正在处理大量数据。以下是我的发现,但仅与b_flag的第一个值进行比较。例如,它仅将b_id(第一个值123a_id(第一个值113)进行比较。

b_id

1 个答案:

答案 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)