我有一个单词列表,想要匹配数据框中某一列中的单词,并仅存储那些匹配的单词。问题在于这些单词是按照列表的顺序存储的,而我想保留数据框的原始顺序。这是我的数据框:
import pandas as pd
df = pd.DataFrame({'a': ['Boston Red Sox', 'Chicago White Sox']})
我有一个字符串列表:
my_list = ['Red', 'Sox', 'White']
我想要的结果应该是这样的:
a
0 Red Sox
1 White Sox
然而我遇到了以下的结果:
a
0 Red Sox
1 Sox White
我现在使用的代码是:
df['a'] = df.apply(lambda x: ' '.join([i for i in my_list if i.lower() in x['a'].lower().split()]), axis=1)