【发布时间】:2018-08-08 21:34:48
【问题描述】:
我想将目标列从一个数据框合并到另一个数据框。合并的数据框有更多的键,它们很接近,但与原始数据框不完全匹配。请参阅下面的示例:
原始数据帧 (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: right keys must be sorted 错误。我已经对值进行了排序并重置了索引,但仍然出现错误。任何帮助表示赞赏!
【问题讨论】:
-
pd.merge_asof(FDMA,ZC[['DMA','Distance (Miles)']].sort_values('DMA'),on='DMA') -
非常感谢斯科特!那行得通。您能告诉我这与在尝试 merge_asof 之前对每个数据帧进行排序有何不同吗?
-
嗯,应该没有什么不同,我只是想清楚的是,您是根据连接键而不是索引进行排序的。