You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pandas DataFrame中精准替换指定内容而非全局替换?

解决Pandas DataFrame中特定//替换问题

你可以使用正则表达式的负向断言来精准替换目标内容,避免影响网址里的//。具体做法是只匹配前面没有冒号的//,这样就能跳过https://这类协议中的斜杠。

代码实现

import pandas as pd

# 示例DataFrame
data = {'Col': ['N//A', 'P//D', 'https://cg.com', 'C//A']}
df = pd.DataFrame(data)

# 精准替换:仅替换前面无冒号的//为/
df['Col'] = df['Col'].str.replace(r'(?<!:)//', '/', regex=True)
print(df)

输出结果

Col
0           N/A
1           P/D
2  https://cg.com
3           C/A

原理说明

正则表达式(?<!:)//的含义:

  • (?<!:):负向零宽断言,表示当前位置的前面不能是冒号:
  • //:匹配两个连续的斜杠

这样就只会命中N//A、P//D这类非网址里的斜杠组合,而https://中的//因为前面有冒号,会被排除在外。

内容的提问来源于stack exchange,提问作者Shivika

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 08:25:20