首页 > 解决方案 > 替换熊猫数据框中的字符串,保持第一次出现完好无损

问题描述

我有一个熊猫数据框,如下所示:

df
Name    Statement 1
A       Value is favourable due to A favourable due to Q favourable due to U and unfavourable due to D
B       Value is favourable due to T favourable due to W favourable due to J and unfavourable due to O
C       Value is favourable due to U favourable due to D favourable due to H and unfavourable due to P
D       Value is favourable due to J favourable due to F favourable due to M and unfavourable due to Z

除了第一次出现之外,有什么方法可以替换字符串"favourable due to"","

对于不利的部分也需要做同样的事情。

标签: pythonpandasdataframe

解决方案


这将起作用:

df['Statement 1'] = df['Statement 1'].apply(lambda x: x.replace(' favourable due to', ',').replace(',', ' favourable due to', 1)
print(df)

输出:

  Name                                                   Statement 1
0    A  Value is favourable due to A, Q, U and unfavourable due to D
1    B  Value is favourable due to T, W, J and unfavourable due to O
2    C  Value is favourable due to U, D, H and unfavourable due to P
3    D  Value is favourable due to J, F, M and unfavourable due to Z

推荐阅读