У меня есть датафрейм. Я могу проверить, находится ли (C) в каждой строке число в столбце (B) в столбце (A).
df = pd.DataFrame({'A': ["me 1 23", "me", "123", "me 12", "12 me"],
'B': [123, 123, 123, 12, 12 ]})
df = df.dropna()
df['C']=df.A.str.contains(r'\b(?:{})\b'.format('|'.join(df.B.astype(str)))).astype(int)
print(df)
Это дает правильный ответ:
A B C
0 me 1 23 123 0
1 me 123 0
2 123 123 1
3 me 12 12 1
4 12 me 12 1
Но когда я изменяю число (B) в строке 1, я получаю неправильный ответ (C) в строке 0:
A B C
0 me 1 23 123 1
1 me 23 0
2 123 123 1
3 me 12 12 1
4 12 me 12 1