用字典键匹配熊猫子字符串并用字典值替换

CHR*_*HRD 4 python dictionary match dataframe pandas

假设我有dfd以下。我想,对于 中的每一行col,检查是否与 中的项目键匹配,如果匹配d,则将值替换col为相应的项目值,否则删除该行。(不能超过一场比赛)。

df = pd.DataFrame({'col': ['sdffzdhellojkh', 'fegky', 'ouewfzdworldqf']})

d = {'fzdhello': 'hello', 'fzdworld': 'world'}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,输出将如下所示:

df
    col
0   hello
1   world
Run Code Online (Sandbox Code Playgroud)

ank*_*_91 5

series.str.extract 然后映射:

df['col'].str.extract('('+ '|'.join(d.keys()) + ')',expand=False).map(d).dropna()
Run Code Online (Sandbox Code Playgroud)
0    hello
2    world
Name: col, dtype: object
Run Code Online (Sandbox Code Playgroud)