列包含第 1 列
Column contains column 1
我有一个数据框。我可以测试 (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
但是当我更改第 1 行的数字 (B) 时,我在第 0 行得到错误答案 (C):
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
我觉得这是逐行检查
[str(y) in x for x , y in zip(df.A,df.B)]
Out[1308]: [False, False, True, True, True]
我有一个数据框。我可以测试 (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
但是当我更改第 1 行的数字 (B) 时,我在第 0 行得到错误答案 (C):
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
我觉得这是逐行检查
[str(y) in x for x , y in zip(df.A,df.B)]
Out[1308]: [False, False, True, True, True]