排序后,pandas merge_asof键必须排序错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序后,pandas merge_asof键必须排序错误相关的知识,希望对你有一定的参考价值。
我想将一个目标列从一个数据框合并到另一个数据框。合并的数据框具有更多的键,它们很接近,但与原始数据帧不完全匹配。请参阅以下示例:
原始数据帧(FDMA)
DMA
130506
130510
130512
130555
130556
合并数据框(ZC)
DMA Distance (Miles)
1305060 303.87
1305061 305.35
1305062 278.80
1305065 299.94
1305067 291.83
pd.merge_asof(FDMA,ZC[['DMA','Distance (Miles)']],on='DMA')
这是我所期待的
DMA Distance (Miles)
130506 303.87
130510 291.83
130512 XXX
130555 XXX
130556 XXX
我已经尝试了上面的代码并获得了一个ValueError:右键必须排序错误。我已对值进行排序并重置索引,但仍然会收到错误。任何帮助表示赞赏!
答案
使用错误代码“ValueError:必须对右键进行排序”,最有效的解决方案是在keys列的合并中添加sort_values
:
pd.merge_asof(FDMA,ZC[['DMA','Distance (Miles)']].sort_values('DMA'),on='DMA')
这确保了数据帧按照pd.merge_asof
的要求在连接键上排序。
以上是关于排序后,pandas merge_asof键必须排序错误的主要内容,如果未能解决你的问题,请参考以下文章
Pandas:用于合并两个多索引 DataFrame 的类似 merge_asof 的解决方案?