<p>可以将<code>apply</code>和<code>map</code>与<code>join</code>一起用作:</p>
<pre><code>df2.set_index('name',inplace=True)
df1.apply(lambda x: pd.Series(x['keywords']).map(df2['stockcode']).dropna().values,1)
0 [appl]
1 []
2 [ggle]
3 []
4 [ggle, appl]
dtype: object
</code></pre>
<p>或:</p>
<pre><code>df1.apply(lambda x: ','.join(pd.Series(x['keywords']).map(df2['stockcode']).dropna()),1)
0 appl
1
2 ggle
3
4 ggle,appl
dtype: object
</code></pre>
<p>或:</p>
<pre><code>df1.apply(lambda x: ','.join(pd.Series(x['keywords']).map(df2['stockcode']).dropna()),1)\
.replace('','null')
0 appl
1 null
2 ggle
3 null
4 ggle,appl
dtype: object
</code></pre>
<hr/>
<pre><code>df1['stockcode'] = df1.apply(lambda x: ','.join(pd.Series(x['keywords'])\
.map(df2['stockcode']).dropna()),1)\
.replace('','null')
print(df1)
x y z keywords stockcode
0 a b c [apple, iphone, watch, newdevice] appl
1 e w q NaN null
2 w r t [pixel, google] ggle
3 s t q [india, computer] null
4 d j o [google, apple] ggle,appl
</code></pre>