擅长:python、mysql、java
<p>您可以使用<code>merge</code>和<code>join</code>来做您想做的事情。先做些准备:</p>
<pre><code>#input file, you can have any number of columns in it
df_input = pd.DataFrame({'col1':range(1,5),
'GOODS_DESC':['Abuj Cen Le', 'Mr USD',
'TABLEAU EMBALLAGE', 'LISA e EMBALV']})
# DF from the list of words
df_word = pd.DataFrame({'Word':[word.lower() for word in word_list]})
# create a df_stack with each word of your sentences as a row keeping indexes for join later
df_stack = (df_input['GOODS_DESC'].str.split(' ',expand=True).stack().reset_index())
# Column with same name as df_word and lowercase for merge after
df_stack['Word'] = df_stack[0].str.lower()
</code></pre>
<p>现在您可以使用<code>merge</code>和<code>join</code>:</p>
<pre><code>df_join = df_stack.merge(df_word).groupby('level_0')[0].apply(lambda x: ' '.join(x))
df_output = df_input.join(df_join)
# get ride
df_output = df_output.drop('GOODS_DESC',1).rename(columns={0:'GOODS_DESC'})
</code></pre>
<p>看起来有很多行,但是<code>merge</code>和<code>join</code>效率很高,所以我希望它足够快。你知道吗</p>