开发者社区> 问答> 正文

两个Pandas系列之间的匹配ID

我有一个简单的问题,但找不到正确的答案。我有两个Pandas系列(假设“ A”和“ B”),ID在那(字符串)。系列A大于系列B。我要寻找的是一种具有2列的结果数据框的方式,其中匹配元素在同一行上,并且如果A中的值在B中不存在,则添加一个NaN。

A            B
10368        10368
12567        NaN
13456        13456
...          ...

等等。

我想 Pandas 中的合并功能可能会有所帮助,但我无法使其正常工作

提前致谢

问题来源:stackoverflow

展开
收起
is大龙 2020-03-24 19:25:53 421 0
1 条回答
写回答
取消 提交回答
  • 您可以尝试以下方法:

    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

    2020-03-24 19:26:02
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载