擅长:python、mysql、java
<p>我怀疑这是最优雅的方式,但它应该能做到:</p>
<pre><code>df['fbm'] = df['name']
for i in companies:
df.loc[ df.name.str.contains(i), 'fbm' ] = companies[i]
name fbm
0 BULL AXP UN X3 VON American Express
1 BEAR AXP UN X3 VON American Express
2 BULL GOOG UN X5 VON Google
3 BEAR GOOG UN X5 VON Google
4 BEAR ABC123 X2 CBZ BEAR ABC123 X2 CBZ
</code></pre>
<p>这里要记住的一点是,因为这不是字典查找,所以可以有多个匹配项。例如,“ABC”和“UN”都是有效的股票代码,“BEAR”是或曾经是。使用此方法,将保留最后一个匹配项,并丢弃任何先前的匹配项。在</p>