сравнить значение одного столбца со всеми значениями другого столбца, используя панд - PullRequest
1 голос
/ 22 апреля 2019

У меня есть один файл Excel, который содержит следующие значения

enter image description here

Мне нужно сравнить значение a_id со всеми значениями b_id и если он совпадает, я должен обновить значение a_flag до 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 соответственно.

Наконец-то у меня будут следующие данные.

enter image description here

Мне нужно это с помощью панд, потому что я имею дело с большим сбором данных,Ниже приведены мои выводы, но они сравниваются только с первым значением b_id.Например, он сравнивает 123 (a_id первое значение) только с 113 (b_id первое значение).

import pandas as pd 
df1 = pd.read_excel('system_data.xlsx')
df1['a_flag'] = (df3['a_id'] == df3['b_id']).astype(int)

1 Ответ

1 голос
/ 22 апреля 2019

Используйте 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...