python - 熊猫自定义合并条件key1包含key2
问题描述
我正在尝试将两个数据帧与 key1 包含 key2 的条件合并,这是示例
df1
name info
Bill Gates Microsoft
Steve Jobs Apple
Elon Musk Tesla
df2
name info
Bill aaa
Kate bbb
Steve ccc
我正在合并关键的“名称”列,我想要得到的结果是
df3
name info name info
Bill Gates Microsoft Bill aaa
Steve Jobs Apple Steve ccc
在我的情况下,df1 相对较小,大约有 600 条记录,但 df2 相当大,大约有 200 万条记录,所以效率也是一个问题,非常感谢。
解决方案
重命名东西并合并
rename_dict = {'name': 'full', 'info': 'company'}
df1.rename(columns=rename_dict).assign(
name=lambda d: d.full.str.split().str[0]).merge(df2)
full company name info
0 Bill Gates Microsoft Bill aaa
1 Steve Jobs Apple Steve ccc
推荐阅读
- css - 如何显示行/行以使用 CSS 链接 2 个或更多元素?
- node.js - NodeJS 在没有 Express 的情况下获取 cookie
- sql - foreach 循环遍历 SQL 数据数组时出现 Powershell IComparable 错误
- ios - AzureIoTHubClient 包装器框架无法构建模块
- tensorflow2.0 - 给定一个输入并得到两个输出
- merge - Apache NiFi:MergeContent 无法正确合并文件
- ruby - Chef - 将环境变量与包资源一起使用,使用 bash 资源创建
- react-native - 将文件夹中的所有文件存储在变量中 react-native
- python - 如何遍历嵌套列表以分配函数参数?
- python - 当我遇到错误时,如何在 Windows 10 中安装 psycopg2