python - 如何匹配两列之间的ID?
问题描述
我有,我猜是一个简单的问题,但我找不到正确的答案。我有两个带有 ID 的熊猫系列(比如说“A”和“B”)(字符串)。A系列比B系列大。我正在寻找一种方法来获得具有2列的结果数据框,其中匹配元素位于同一行,并且如果A中的值在B中不存在,则添加一个 NaN
A B
10368 10368
12567 NaN
13456 13456
... ...
等等。
我想 pandas 中的合并功能可能会有所帮助,但我无法使其工作
提前致谢
解决方案
从 的值中按索引Series.reindex
与助手一起使用:Series
s2
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')
推荐阅读
- ios - SwiftUI,如何使用工具栏在视图之间导航而不重新创建视图以及如何管理资源
- react-native - 如何使用 Agora.io 要求用户加入频道开始通话
- regex - 用自定义处理替换另一个字符串中出现的字符串
- wpf - 对话框中的 MaterialDesignInXaml 验证 - 如何比较 2 个文本框?
- flutter - 推送 Flutter Web 应用发布版本后,Github 页面显示为空
- laravel - Laravel Voyager 中未显示子菜单
- javascript - 数组到数组组转换
- c++ - 通过从几乎可以工作的文本文件中读取将节点附加到链表
- terminal - 这个命令中flag -s是什么意思?
- vim - 每 3 行加入制表符 (vim)