python - 如何替换数据框列中的所有数字(附有字母/符号,即 43$)?
问题描述
我有一个与股市相关的在线评论数据框。这是一个例子:
df = pd.DataFrame({'id': [1, 2, 3],
'comment': ["I made $425",
"I got mine at 42c. per share",
"Stocks saw a 12% increase"]})
我想将数据框中的所有数字(包括符号和字母)替换NUMBER
为:
"I made NUMBER",
"I got mine at NUMBER per share",
"Stocks saw a NUMBER increase"
我在之前的评论中找到了一个接近的解决方案,但是这个解决方案仍然给我留下了剩余的字母和符号。
def repl(x):
return re.sub(r'\d+', lambda m: "NUMBER", x)
repl("I made 428c with a 52% increase")
>> I made NUMBERc with a NUMBER% increase
任何帮助将不胜感激,谢谢。
解决方案
这应该有效:
import re
def repl(x):
return re.sub(r'\S*\d+\S*', lambda m: "NUMBER", x)
print(repl("I made 428c with a 52% increase"))
输出:
I made NUMBER with a NUMBER increase
推荐阅读
- python - 使用 Dataflow 管道 (python) 将多个 Json zip 文件从 GCS 加载到 BigQuery
- c# - 等待一个长期存在的任务以知道它开始时没有阻塞
- performance - 使用 SharedArray 的并行 for 循环
- ios - SwiftUI:UIViewControllerRepresentable UIPageViewController 的性能问题
- react-native - 如何在 react-native 中制作自定义日期选择器?
- javascript - 不确定如何在 useEffect 中调用函数
- java - mXparser - 如何确定用户定义参数的标记类型
- javascript - 音频文件不播放 - HowlerJS
- docker - 有没有办法将网络和绑定端口分配给 Jenkins 中的 docker 代理?
- css - 输入框不在桌面居中