python - 根据另一个数据集的列值从数据集中提取两列的值
问题描述
我正在尝试根据另一个数据集的列值从数据集中提取两列的值。
例子:
df1:
index ID Value
0 45 04
1 32 03
2 34 08
3 6 05
4 45 04
df2
index ID Weight Height
0 6 50 155
1 32 55 164
2 34 66 162
3 45 54 163
4 99 55 155
我想得到:
df1
index ID Value Weight Height
0 45 04 54 163
1 32 03 55 164
2 34 08 66 162
3 6 05 50 155
4 45 04 54 163
我试过:
pd.merge(df1, df2, on="id")
但它给了我比 df1 更大的数据集。
谢谢你。
解决方案
您可以随心所欲,只需删除一个额外的列:
(pd.merge(df1, df2, on="ID", suffixes=('', '_y'))
.drop('index_y', axis=1)
.sort_values('index')
)
输出:
index ID Value Weight Height
0 45 4 54 163
1 32 3 55 164
2 34 8 66 162
3 6 5 50 155
4 45 4 54 163
推荐阅读
- ios - Apple Watch 是否可以在没有 iPhone 作为中介的情况下直接从 Web 服务器获取数据?
- typescript - 将对象推入数组重复最后一个条目
- sparql - 是否有一个 SPARQL 查询来产生项目总数(在数据库中)?
- python - matplotlib Boxplot 抽屉函数统计数据均值
- java - 依赖 Jar 没有引用它自己的 application.properties
- reactjs - React Jest 测试无法使用 ts-jest 运行 - 导入文件上出现意外令牌
- c++ - Qt在孩子中使用父函数(C++)
- c++ - 内存出了什么问题?
- macos - dyld:库未加载:@rpath/... 原因:代码签名时未找到图像
- postgresql - 在 Postgres 中更新 JSON 列?