python - 在匹配值上连接两个数据框
问题描述
我有一个人与人之间交易的数据框,但它基于他们的 ID 号:
df =
First ID Second ID Total Currency
854 938 50 GBP
321 438 30 EUR
756 850 50 USD
etc...
我还有第二个 df,其中包含 ID 和他们所链接的人的实际姓名。
ID_df =
ID code Name
321 John
850 David
etc...
我想将 ID df 加入到主数据框中,这样我就有了人的名字。理想情况下,我希望它看起来像:
df =
First ID First name Second ID Second name Total Currency
854 Steve 938 Mike 60 Eur
etc...
解决方案
2个背靠背连接有什么问题?(如果它变成 2+,你可以用它做一个函数)
df = df.merge(id_df,how='left',left_on='first_id',right_on='id_code')\
.rename(columns={'name':'first_name'})
df = df.merge(id_df,how='left',left_on='second_id',right_on='id_code')\
.rename(columns={'name':'second_name'})
推荐阅读
- typescript - 通过 typescript 编译器 API 从导入使用中解析符号定义文件名
- reactjs - index.js:1 警告:上下文消费者使用多个孩子呈现
- git - 为构建机器运行的 Git 命令以使存储库尽可能无故障
- reactjs - React 功能组件状态总是记录初始值
- json - 如何解组不同类型的流
- r - 用多行更改ggplot上的刻度线
- excel - VLOOKUP 多个值
- angular - 存储与随时随地提出请求
- docker - 如何从 Windows 10 连接 Docker-Linux 上的 docker-compose Sql 服务器容器?
- c# - ASP.NET MVC 5 在重定向时丢弃尾随句点