python - 替换熊猫数据框中的字符串,保持第一次出现完好无损
问题描述
我有一个熊猫数据框,如下所示:
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"
。","
对于不利的部分也需要做同样的事情。
解决方案
这将起作用:
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
推荐阅读
- mongodb - MongoDB:根据条件从文档列表中选择文档
- c++ - 将对象移动到 unique_ptr
- mysql - SQL查询以查找员工的报告员
- python - Discord 频道会员只返回一名会员?
- javascript - 为什么这个标签在 sendgrid 内的 html 标签内不起作用?
- node.js - Nodejs AsyncLocalStorage getStore() 返回未定义
- java - MapType 在 Spark 3.x 中导致 AnalysisException:Encoders.bean 到包含地图的对象
失败,在 Spark 2.4 中运行良好 - android - 代理后面的 AVD 模拟器没有互联网
- javascript - 带有连接或大小写的 mysql 条件子查询
- c++ - if-else 语句无法正常工作的奇怪错误