python - 在 python Pandas 中加入表(如基于两列值相似性的 Vlookup)
问题描述
这应该很容易,但我没有找到解决方案。我想使用 pandas 连接两个数据框,在比较来自两个数据框的两列的值时,像 V loop Up 样式一样连接。查看示例
df1_test = pd.DataFrame({'X_mm': [1,2,3,4,5],
'Y_mm': [2,5,6,7,9],
"Measurement_from_df1":[18.3,19.3,20.25,10.3,20.1]
})
df2_test = pd.DataFrame({'X_mm': [1,2,0,6,12],
'Y_mm': [2,5,18,24,37],
"Measurement_from_df2":[20,25,31,32,33]
})
result = pd.DataFrame({'X_mm': [1,2],
'Y_mm': [2,5],
"Measurement_from_df1":[18.3,19.3],
"Measurement_from_df2":[20,25]
})
解决方案
尝试:
print(df1_test.merge(df2_test, on=["X_mm", "Y_mm"]))
印刷:
X_mm Y_mm Measurement_from_df1 Measurement_from_df2
0 1 2 18.3 20
1 2 5 19.3 25
推荐阅读
- css - 许多 CSS 变量对性能的影响
- google-cloud-platform - 使文件夹部分可访问
- npm - 无法使用 sudo 运行 npm 命令
- c# - 跟踪网络内设备的 IP 更改
- pentaho-data-integration - Excel 模板中的 Pentaho 数据
- dialogflow-es - 稍后在您的 Google 操作中如何更改“操作和参数”?
- vue.js - Vue.js 如何在组件中定义(覆盖)css 样式?
- .net - 将 OpenCV Mat 或 Image 转换为 Tensorflow 的 NumPy 数组
- java - 切换到 androidx 后的 java.lang.IllegalStateException
- oracle - Oracle Forms 12c 中未显示样板文本