<p>更正了<code>query</code>语法并添加了<code>else</code>以使代码正常工作。您必须使用<code>@</code>调用<code>x</code></p>
<pre><code>dfout['EXCHANGE_RATIO'] = dfout['CURRENCY'].apply(lambda x: dfc.query('CURRENCY_SOURCE==@x')['EXCHANGE_RATIO'][0] if x != 'EUR' else np.NaN)
</code></pre>
<p>输出-输入</p>
<pre><code> DATE_PROCESS BOOKING_ID DEP_AIRPORT ARR_AIRPORT DEPARTURE_DATE ARRIVAL_DATE PRICE CURRENCY
0 2013-04-19 16:04:13 UTC 76969972 AEL DEL 2013-04-18 00:00:00 NaN 409.04 EUR
1 2014-04-17 02:26:46 UTC 76888867 ARP ZAL 2014-04-19 00:00:00 NaN 280.70 EUR
2 2014-04-17 02:26:46 UTC 76888867 ARP ZAL 2014-04-19 00:00:00 NaN 280.70 TRL
</code></pre>
<p>dfc</p>
<pre><code> CURRENCY_SOURCE CURRENCY_TARGET EXCHANGE_RATIO
0 TRL EUR 9.900000e-08
1 VES EUR 3.220000e-07
</code></pre>
<p>输出</p>
<pre><code> DATE_PROCESS BOOKING_ID DEP_AIRPORT ARR_AIRPORT DEPARTURE_DATE ARRIVAL_DATE PRICE CURRENCY EXCHANGE_RATIO
0 2013-04-19 16:04:13 UTC 76969972 AEL DEL 2013-04-18 00:00:00 NaN 409.04 EUR NaN
1 2014-04-17 02:26:46 UTC 76888867 ARP ZAL 2014-04-19 00:00:00 NaN 280.70 EUR NaN
2 2014-04-17 02:26:46 UTC 76888867 ARP ZAL 2014-04-19 00:00:00 NaN 280.70 TRL 9.900000e-08
</code></pre>