我有一个单词列表。说:
list = ['this', 'that', 'and', 'more']
我想以这种方式替换单词:
x |y
-----------
this |that
plus |more
每次列表中的单词都在y
列中时,我想将其替换为同一行中x
列中的内容。如果单词不在y
中,则应保持原样。怎么办呢?
答案 0 :(得分:2)
您可以将此转化表(称为df
)转换为dict
,然后以下内容将作为所需的替换功能。
d = dict(df['y', 'x'].iterrows())
new_list = [d.get(word, word) for word in list]
# new_list: ['this', 'this', 'and', 'plus']
答案 1 :(得分:0)
如果您在pandas数据帧中有翻译表,则可以使用以下脚本:
import pandas as pd
list1 = ['this', 'that', 'and', 'more']
df = pd.DataFrame(dict(zip(['x', 'y'], [['this', 'plus'], ['that', 'more']])))
for i,item in enumerate(list1):
if item in df.y.values:
repvalue = df.x[df.y == item].values[0]
list1[i] = repvalue
这将覆盖原始列表内容