我有一个名为 的数据框,a其结构如下:
df = pd.DataFrame({
'id': [1, 2, 3],
'numbers_a': [[2, 3, 5], [1, 2, 4], [4, 6, 9]],
'numbers_b': [[2, 1, 3], [10, 11], [4, 5, 7]]
})
df
| id | numbers_a | numbers_b |
|----|-----------|-----------|
| 1 | [2, 3, 5] | [2, 1, 3] |
| 2 | [1, 2, 4] | [10, 11] |
| 3 | [4, 6, 9] | [4, 5, 7] |
我想向该数据框添加一个名为 的新列,如果 中的任何一个值在中result,则应该是该列。因此,以下应该是结果数据框:TRUEnumbers_bnumbers_a
| id | numbers_a | numbers_b | result |
|----|-----------|-----------|--------|
| 1 | [2, 3, 5] | [2, 1, 3] | TRUE |
| 2 | [1, 2, 4] | [10, 11] | FALSE |
| 3 | [4, 6, 9] | [4, 5, 7] | TRUE |
我尝试使用以下代码片段,但所有值都为 FALSE:
a['result'] = pd.DataFrame(a.numbers_b.tolist()).isin(a.numbers_a).any(1).astype(bool)
我该如何解决这个问题?提前致谢。
慕无忌1623718
相关分类