我有一个简单的问题,但找不到正确的答案。我有两个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