首页 > 解决方案 > 如何匹配两列之间的ID?

问题描述

我有,我猜是一个简单的问题,但我找不到正确的答案。我有两个带有 ID 的熊猫系列(比如说“A”和“B”)(字符串)。A系列比B系列大。我正在寻找一种方法来获得具有2列的结果数据框,其中匹配元素位于同一行,并且如果A中的值在B中不存在,则添加一个 NaN

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

等等。

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

提前致谢

标签: pythonpandas

解决方案


从 的值中按索引Series.reindex与助手一起使用:Seriess2

df = pd.Series(s2.to_numpy(), index=s2).reindex(s1).rename_axis('A').reset_index(name='B')

Series.to_frame左加入DataFrame.merge

df = s1.to_frame('A').merge(s2.to_frame('B'), left_on='A', right_on='B', how='left')

推荐阅读