python - 如何在只保留匹配的情况下加入数据框?
问题描述
我有两个数据框:
id value
a1 12
a2 15
a3 17
id value1
a1 22
a2 58
a7 10
我想通过列 id 加入它们,只保持匹配一个:
id value value1
a1 12 22
a2 15 58
怎么做?我试过 pd.merge 但它保留了所有 id
解决方案
您可以使用pd.merge
和inner
:
数据框示例
df1 = pd.DataFrame({'id':['a1','a2', 'a3'],
'value':[12, 15, 17]})
df2 = pd.DataFrame({'id':['a1','a2', 'a7'],
'value':[22, 58, 10]})
代码
merged_df = df1.merge(df2, how = 'inner', on = ['id'])
merged_df.columns = ["id", "value", "value1"]
结果
id value value1
0 a1 12 22
1 a2 15 58
如果要将 index 更改为id,可以使用pd.set_index('id')
推荐阅读
- c++ - 是否可以/建议返回一个范围?
- r - 使用r中的循环根据连续行中的值之间的某些差异为记录分配唯一ID
- nginx - 连接到 nginx 后面的 Rancher Kube API 服务器时出现 kubectl 错误
- ansible - 在其他剧本之前准备剧本
- flutter - 扑腾打印
- gradle - 无法在我的 Windows 系统 linux 中运行 ./gradlew.jar
- .net-core - 我们如何为 .NET Core 3.1 应用程序集成 ReportViewer
- json - 如何在 swift 中增加 JSON perameter COUNT 值以进行分页
- sql - 如何在SQL中搜索超过十列的字符串
- javascript - 在键盘 JavaScript 上模拟 Enter