<p>使用<a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.sort_values.html" rel="nofollow noreferrer">^{<cd1>}</a>对数据帧<code>df1</code>和<code>df2</code>进行排序<code>cumul_growth_perc</code>,然后对排序后的数据帧执行<a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.merge_asof.html" rel="nofollow noreferrer">^{<cd5>}</a>:</p>
<pre><code>d1 = df1.sort_values('cumul_growth_perc')
d2 = df2.sort_values('cumul_growth_perc')
df = pd.merge_asof(d1, d2, on='cumul_growth_perc', direction='nearest').sort_values('ID')
</code></pre>
<p>结果:</p>
<pre><code> ID cumul_growth_perc day
0 Nioz-TC-09-A1R 0.000000 32
1 Nioz-TC-09-A1R 2.998818 46
2 Nioz-TC-09-A1R 90.197400 335
3 Nioz-TC-09-A1R 92.701066 336
4 Nioz-TC-09-A1R 95.493799 340
5 Nioz-TC-09-A1R 97.730079 361
6 Nioz-TC-09-A1R 100.000000 365
7 Nioz-TC-09-A2R 0.000000 32
8 Nioz-TC-09-A2R 2.198930 37
9 Nioz-TC-09-A2R 4.255615 48
10 Nioz-TC-09-A2R 82.291074 335
11 Nioz-TC-09-A2R 93.276493 338
12 Nioz-TC-09-A2R 95.507238 340
13 Nioz-TC-09-A2R 97.598344 361
14 Nioz-TC-09-A2R 100.000000 365
</code></pre>