我有两个数据框
df1 =
payout
0 0.05
1 0.03
2 0.06
和
df2 =
value
0 0.0100
1 0.0275
2 0.0400
3 0.0500
4 0.0570
5 0.0610
我想要df1
一个新列,其中最接近的行指示中的索引df2
。理想情况下,输出看起来像这样。
payout value
0 0.05 3
1 0.03 1
2 0.06 5
查找与输入最接近的行讨论此问题,但只能使用一个输入,而不是DataFrame中的整个列。这样做的最佳方法是什么?
检查与 merge_asof
df = pd.merge_asof(df1.sort_values('payout'),
df2.reset_index().sort_values('value'),
left_on='payout',
right_on='value',
direction='nearest')
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句