擅长:python、mysql、java
<p>首先,我认为您应该基于<code>df2</code>创建一个字典</p>
<pre><code>symbol_lookup = dict(zip(df2['Symbol'],df2['Company name']))
</code></pre>
<p>然后需要一个函数来解析<code>title</code>列。如果您可以依赖股票符号前面带有美元符号,则可以使用以下符号:</p>
<pre><code>def find_name(input_string):
for symbol in input_string.split('$'):
#if the first four characters form
#a stock symbol, return the name
if symbol_lookup.get(symbol[:4]):
return symbol_lookup.get(symbol[:4])
#otherwise check the first three characters
if symbol_lookup.get(symbol[:3]):
return symbol_lookup.get(symbol[:3])
</code></pre>
<p>您还可以编写一个函数,其基础是希望符号位于括号中。如果你不能依赖其中任何一个,那就更复杂了</p>
<p>最后,您可以将函数应用于<code>title</code>列:</p>
<pre><code>df1['Stock_name'] = df1['title'].apply(find_name)
</code></pre>