pandas - 比较两个数据帧并找到最大差异
问题描述
我有两个数据框 df1 和 df2。两者的索引相同,[i_batch, i_example]
列是不同的 rmse 错误。我想找到[i_batch, i_example] df1 比df2 低很多,或者根据常见的[i_batch, i_example] 找到df1 比df2 错误少的行。请注意,特定的 [i_batch, i_example] 可能仅发生在 df1 或 df2 之一中。但我只需要考虑 df1 和 df2 中都存在的 [i_batch, i_example]。
df1 =
rmse_ACCELERATION rmse_CENTER_X rmse_CENTER_Y rmse_HEADING rmse_LENGTH rmse_TURN_RATE rmse_VELOCITY rmse_WIDTH
i_batch i_example
0 0.0 1.064 1.018 0.995 0.991 1.190 0.967 1.029 1.532
1 0.0 1.199 1.030 1.007 1.048 1.278 0.967 1.156 1.468
1.0 1.101 1.026 1.114 2.762 0.967 0.967 1.083 1.186
2 0.0 1.681 1.113 1.090 1.001 1.670 0.967 1.205 1.160
1.0 1.637 1.122 1.183 0.987 1.521 0.967 1.191 1.278
2.0 1.252 1.035 1.035 2.507 1.108 0.967 1.210 1.595
3 0.0 1.232 1.014 1.019 1.627 1.143 0.967 1.080 1.583
1.0 1.195 1.028 1.019 1.151 1.097 0.967 1.071 1.549
2.0 1.233 1.010 1.004 1.616 1.135 0.967 1.082 1.573
3.0 1.179 1.017 1.014 1.368 1.132 0.967 1.099 1.518
和
df2 =
rmse_ACCELERATION rmse_CENTER_X rmse_CENTER_Y rmse_HEADING rmse_LENGTH rmse_TURN_RATE rmse_VELOCITY rmse_WIDTH
i_batch i_example
1 0.0 0.071 0.034 0.048 0.114 0.006 1.309e-03 0.461 0.004
1.0 0.052 0.055 0.062 2.137 0.023 8.232e-04 0.357 0.011
2 0.0 1.665 0.156 0.178 0.112 0.070 3.751e-03 2.326 0.016
1.0 0.880 0.210 0.088 0.055 0.202 1.449e-03 0.899 0.047
2.0 0.199 0.072 0.078 1.686 0.010 6.240e-04 0.239 0.008
3 0.0 0.332 0.068 0.097 1.211 0.022 5.127e-04 0.167 0.016
1.0 0.252 0.075 0.070 0.368 0.013 5.295e-04 0.136 0.008
2.0 0.268 0.067 0.064 1.026 0.010 5.564e-04 0.175 0.010
3.0 0.171 0.051 0.054 0.473 0.011 4.150e-04 0.220 0.009
5 0.0 0.014 0.099 0.119 0.389 0.123 3.846e-04 0.313 0.037
例如,我怎样才能得到[i_batch, i_example]
'df1[rmse_ACCELERATION] < df1[rmse_ACCELERATION]'?
解决方案
做一个merge
然后根据您的需要进行过滤
df_merge = df_1.merge(df_2,
left_index=True,
right_index=True,
suffixes=('_1','_2'))
df_merge[
df_merge['rmse_ACCELERATION_1'] < df_merge['rmse_ACCELERATION_2']
].index
[i_batch, i_example]
但是,我在通过条件的两个数据框中都没有看到任何相同的记录
推荐阅读
- javascript - 如何在渲染函数中返回多个组件?
- r - 通过 ID(不是行号)和列名识别数据框中 NA 值的位置
- javascript - 为什么 SVG 路径的某些功能在 Safari(带有 jQuery + 演示)中不起作用?
- go - 关于 Go 语言的语法?
- html - 引导和/或媒体查询在 Github 页面上不起作用
- linux - 使用 pwm-ir-tx 模块时没有可用的用户空间 chardev
- android - Retrofit2 响应主体为空
- ruby - 遍历散列的散列将元素转换为数组
- javascript - Bot 框架 Direct Line 502 错误
- python - Python:根据环境进行条件构建