Skip to main content
 首页 » 编程设计

python之从 python df 问题中替换字符串

2025年05月04日15hnrainll

我正在尝试将一些字符串与 pandas 数据框分开:

x = pd.DataFrame() 
x['y'] = ["Hernia|Infiltration","A|Hernia|Infiltration","Infiltration|Hernia"] 
x 

我正在执行以下代码:

x['y'] = x['y'].replace({'|Hernia': ''},regex=True) 
x['y'] = x['y'].str.replace('Hernia|', '',regex=True) 
x 

但是输出是错误的:

错误的输出:

     y 
0   |Infiltration 
1   A||Infiltration 
2   Infiltration| 

正确/预期的输出

     y 
0   Infiltration 
1   A|Infiltration 
2   Infiltration 

可以用任何字符串代替 A 和 Infiltration ,但模式是一样的。

请您参考如下方法:

这可能可以用拆分/合并更优雅地处理

x['y'].apply(lambda row: '|'.join(x for x in row.split('|') if 'Hernia'!= x)) 

输出:

0      Infiltration 
1    A|Infiltration 
2      Infiltration