我有一个简单的问题,但找不到正确的答案。我有两个Pandas系列(假设“ A”和“ B”),ID在那(字符串)。系列A大于系列B。我要寻找的是一种具有2列的结果数据框的方式,其中匹配元素在同一行上,并且如果A中的值在B中不存在,则添加一个NaN。
A B
10368 10368
12567 NaN
13456 13456
... ...
等等。
我想 Pandas 中的合并功能可能会有所帮助,但我无法使其正常工作
提前致谢
问题来源:stackoverflow
您可以尝试以下方法:
df.loc[df['A'].isin(df['B']), 'B'] = df['A']
df.loc[~df['A'].isin(df['B']), 'B'] = np.nan
之前:
A B
0 1 2
1 2 1
2 3 4
3 7 0
后:
A B
0 1 1.0
1 2 2.0
2 3 NaN
3 7 NaN
回答来源:stackoverflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。