将字符串中的数字替换为字符串和附加到该字符串的数字的长度

2024-04-23

基本上我需要在数据框中取一列,其中包含字符和数字的组合,例如“XYZABC/123441 s sdx”和类似的类型

我需要删除所有标点符号、单字母单词,用单空格替换双空格,修剪字符串,并将数字替换为“NUMB#”,其中“#”表示数字的长度。所以这里的“123441”将被替换为“NUMB6”等等。

我当前的代码是:

for x in df["colname"]:
    x = re.sub(r"[^\w\s]", " ", str(x))      #Removes all punctuations
    x = re.sub(r"\d+", "NUMB", str(x))       #Replaces digits with 'NUMB'
    x = re.sub(r"\b[a-zA-Z]\b", "", str(x))  #Removes all single characters
    x = re.sub(r"\s+", " ", str(x))          #Removes double spaces with single space
    x = x.strip().upper()                    #Trims the string

现在我确实在网站上看到了一个关于如何用子字符串的长度替换子字符串的问题:

re.sub(r'\b([A-Z][a-z]*)\b', lambda m: str(len(m.group(1))), s)

我在这里需要做的就是将“([A-Z][a-z]*)”替换为“\d”。但是,我不知道如何将两者附加在一起,“.append”功能不起作用。这可能是一个基本的事情,但我是 Python 新手,所以我不知道如何做到这一点


您可以使用apply like

def repl(x):
    return re.sub(r'\d+', lambda m: "NUMB{}".format(len(m.group())), x)

 df['colname'] = df['colname'].apply(repl)

或者要使用与代码中相同的逻辑,请将x = re.sub(r"\d+", "NUMB", str(x)) with

x = re.sub(r'\d+', lambda m: "NUMB{}".format(len(m.group())), x)

The re.sub(r'\d+', lambda m: "NUMB{}".format(len(m.group())), x)将找到任何不重叠的数字块并将其替换为NUMB以及数字块的长度。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将字符串中的数字替换为字符串和附加到该字符串的数字的长度 的相关文章

  • 在类中设置默认值

    我正在用 Python 创建一个类 但我不确定如何正确设置默认值 我的目标是为所有类实例设置默认值 也可以通过类方法对其进行修改 但是 我希望在调用方法后恢复初始默认值 我已经能够使用下面所示的代码使其工作 它不是很 漂亮 所以我怀疑这是解
  • Python 比编译的 Haskell 更快?

    我有一个用 Python 和 Haskell 编写的简单脚本 它读取包含 1 000 000 个换行符分隔的整数的文件 将该文件解析为整数列表 对其进行快速排序 然后将其写入已排序的不同文件中 该文件与未排序的文件具有相同的格式 简单的 这
  • 让 argparse 收集但不响应标志

    我有一个脚本 它接受一些参数 使用其中一些参数来选择要运行的脚本 并将其余参数传递给该脚本 所以它看起来像这样 parser ArgumentParser parser add argument script choices a b par
  • Python bash 管道

    我想将 python 脚本的输出通过管道传输到 bash 脚本 到目前为止我所做的是尝试使用os popen sys subprocess 并试图给出一个管道的例子 os popen echo P 1 1 591336 4927369 1
  • 如何在Python中拟合阶跃函数

    我有一个关于使用 curve fit 等 scipy 例程拟合阶跃函数的问题 我很难将其矢量化 例如 import numpy as np from scipy optimize import curve fit import matplo
  • Python:并行修改数组的简单方法

    这个问题可能听起来很简单 但作为 Python 并行化的新手 我肯定会遇到困难 我处理了 OpenMP for C 中的并行化问题 这要容易得多 我需要做的是并行修改矩阵的条目 就是这样 问题是 我无法使用简单的 joblib 库来做到这一
  • 类型错误:不支持的操作数类型 -:“int”和“list”

    我正在尝试用 python 创建一个程序 它会使用 Zeller 算法告诉你你出生在星期几http en wikipedia org wiki Zeller 27s congruence http en wikipedia org wiki
  • 如何定期向数组添加新元素,使其出现在每 500 个元素之后?

    如果我有一个包含 500k 个元素 仅限数字 的数组 列 我如何能够在每 500 个元素之后添加一个新元素 新的数字应该是相邻元素的平均值 例如 在元素 499 和 500 之间有一个值为 499 的值 500 的值 2 的新元素 依此类推
  • preg_match_all JS 等效吗?

    Javascript 中是否有与 PHP 的 preg match all 等效的函数 如果没有 将正则表达式的所有匹配项放入数组的最佳方法是什么 我愿意使用任何 JS 库来让它变得更容易 您可以使用match使用全局修饰符 gt gt g
  • BeautifulSoup - 抓取论坛页面

    我正在尝试抓取论坛讨论并将其导出为 csv 文件 其中包含 线程标题 用户 和 帖子 等行 其中后者是每个人的实际论坛帖子 我是 Python 和 BeautifulSoup 的初学者 所以我对此感到非常困难 我当前的问题是 csv 文件中
  • 检查空查询集

    我想确认这是否是检查空查询集的正确方法 如果这就是为什么我会遇到 UNIQUE 约束错误 syn check Synonym objects filter MD objects get filter dict synonym type St
  • 如何使用包含 \n 的 .txt 创建一维列表?

    我想读取一个文本文件并将文件的每个元素放入一个列表中 而不是为文件中的每一行都有一个单独的列表 例如 如果文件是 你好我的名字 Is Joe 我希望列表是 你好 我的名字是 Joe 而不是 你好 我的名字 是乔 这是我到目前为止所拥有的 d
  • 如何在lxml,Python中将<转换为<?

    有一个xml文件
  • 如果使用 javascript 在 ASP.NET 中页面验证失败,如何禁用提交按钮

    如果页面上的验证失败 我需要使用 JavaScript 禁用表单上的保存按钮 如果没有 则必须使用以下代码启用它 Code
  • Django - 以表单形式访问 request.session

    我按如下方式调用表单 然后将其传递给模板 f UserProfileConfig request 我需要能够访问表单中的 request session 所以首先我尝试了这个 class UserProfileConfig forms Fo
  • Python Flask 不更新图像[重复]

    这个问题在这里已经有答案了 这里有一些关于图像的 Flask 问题 但没有一个能解决我的问题 我有一个应用程序可以创建图像 保存它 然后显示它 一次 它应该多次执行此操作 每次更改图像时 它应该加载新图像 它不是 它只显示与其显示的文件名关
  • python散景中的反转轴

    我正在尝试反转 y 轴并在散景散点图中设置 x 和 y 的范围 我在用 BokehPlot bokeh scatter data df x range min utc max utc y range min val max val 我收到错
  • AttributeError:模块“matplotlib”没有属性“font_manager”

    我安装了 matplotlib 但 python 3 8 10 显示了这个错误 AttributeError module matplotlib has no attribute font manager What i am doing w
  • 检查数组中是否有 3 个连续值高于某个阈值

    假设我有一个像这样的 np array a 1 3 4 5 60 43 53 4 46 54 56 78 有没有一种快速方法来获取 3 个连续数字都高于某个阈值的所有位置的索引 也就是说 对于某个阈值th 得到所有x其中 a x gt th
  • 每次都在django查询数据库中过滤查询集吗?

    想象一下我有以下代码 qs Users objects all list for i in range 10 list append qs filter age i 这里过滤器被调用 10 次 它是连接到数据库 10 次还是第一次使用过滤器

随机推荐

  • Powershell:如何将字节字符串与二进制注册表值进行比较

    我有一个二进制注册表值 我想检查它在 Powershell 脚本中的一致性 我通过以下方式检索值 Get ItemProperty Path HKLM Software ORL WinVNC3 Name ACL ACL 这将返回一个字节字符
  • 使用 AngularJS 将选择重置为默认值

    我有一个关于 AngularJS 的问题 我有一个 使用 ngOptions 创建的选项进行选择 我想要 将所选选项设置回默认选项 我尝试过了 删除模型变量 例如 if angular isDefined scope first delet
  • 如何在视图中加载部分视图?

    我对这种片面的观点感到非常困惑 我想在我的主视图中加载部分视图 这是一个简单的例子 我正在加载 Homecontroller Index 操作的 Index cshtml 作为主页 在index cshtml中 我通过创建一个链接 Html
  • 如何更改 Composer 中一个包的最低稳定性 [重复]

    这个问题在这里已经有答案了 我正在尝试合并LDAP 验证 https github com ccovey ldap auth通过 Composer 模块到我的 Laravel 项目中 然而 它仅适用于dev稳定版本 我当前的 Compose
  • 如何使用 AngularJS 显示和隐藏 div?不使用任何 css 或 jquery

    我想使用 angularJS 隐藏 div 并在单击按钮时显示它 我使用了 ng show 和 ng hide 但它不起作用 div div
  • 可点击的精灵标签?

    我一直在玩精灵文本标签 更具体地说是这个例子 http stemkoski github io Three js Sprite Text Labels html http stemkoski github io Three js Sprit
  • Flask Python 未加载 main.css

    文件结构如下 app py 和 app2 py 几乎相同 只是 app2 py 指向 templates 文件夹 因为 app2 py 位于 src 文件夹中 app py app2 py 通过 app py 加载时 一切运行正常并且找到了
  • ReferenceError:CKEDITOR 未定义

    我正在尝试使用CK编辑器 http ckeditor com 但是当我尝试时出现以下错误 在 JS 控制台中 例子 http docs ckeditor com guide dev framed从教程中 浏览器中仅显示一个文本框 Refer
  • 独立Python3脚本之间的进程间通信

    我们可以使用标准的 multiprocessing Queue 类在独立的 Python3 脚本之间进行通信吗 bash aaa py bash bbb py 如果没有 是否有另一个库 例如标准多处理模块 用于与独立脚本进行通信 看一下有关
  • Webpack 中的 /node_modules/watchpack 中出现“无法解析模块 'aws-sdk'、'child_process'、'net'”

    我正在尝试构建我的 prod webpack 文件并收到 5 10 个 无法解析模块 aws sdk child process 的错误 所有这些错误都以相同的路径开始 ERROR in webpack watchpack chokidar
  • 如何在对象字段值发生变化时定义断点?

    作为示例 给出下面的代码摘录 我想定义一个断点 每当对象字段值发生变化时就会触发断点 并且可以选择根据条件中断 False or True在这种情况下 type TForm1 class TForm EnableButton TButton
  • 一个表列可用于多个 fk 表?

    对于这种情况 最好的解决方案 做法是什么 我有一个表 可以引用多个表 对象 以下是 UserCalendar 表的示例 这是一个用户保存事件的表 但系统也从后面插入到该表中 用户执行一些有截止日期的服务 这些服务也被插入到该表中 问题是没有
  • 为什么 C# 在这种情况下无法解决正确的重载问题?

    我遇到过一种明确的奇怪情况 但重载解析器并不这么认为 考虑 public static class Program delegate int IntDel delegate string StringDel delegate void Pa
  • 是否可以在 Jenkins 的构建后操作中执行 JavaScript 脚本?

    我需要在构建结束后执行 JavaScript 脚本 该脚本应该使用 npm 包 我安装的插件是 post build actions 我发现类似带有选项的执行脚本 add generic file script 如果我在这里给出 js脚本
  • 如何在 jQuery 中删除 css 属性

    if prev clicked accordion li a category css background image url img off all channel png accordion li a comment css back
  • posix_fadvise(WILLNEED) 会使 IO 变慢吗?

    在运行 Linux 内核版本 2 6 18 194 26 1 el5 的 CentOS 5 5 机器上 我注意到 posix fadvise WILLNEED 使读取 60K 文件比常规 IO 慢了近 200 看起来实际的 fadvise
  • 关联注入还是依赖注入?

    我正在研究依赖注入模式 我看过很多例子 其中一个典型的例子就是以XxxService XxxRepository为例 但我认为 根据UML概念 类XxxRepository应该是类XxxService的关联 为什么不称这种情况为关联注入 但
  • 如何获得Arc积分?

    我正在研究核心动画和核心图形 我正在绘制一个以中心 0 0 为中心的圆弧 现在我想在圆弧之后绘制一条线 我可以绘制圆弧 但之后我无法获得两个不同的圆弧点 我怎样才能得到它 这是代码 CGMutablePathRef retPath CGPa
  • 库存管理系统的 SQL 与 NoSQL

    我正在开发一个基于 JAVA 的网络应用程序 主要目的是拥有在多个称为渠道的网站上销售的产品的库存 我们将担任所有这些渠道的管理者 我们需要的是 用于管理每个渠道的库存更新的队列 库存表 其中包含每个通道上分配的正确快照 将会话 ID 和其
  • 将字符串中的数字替换为字符串和附加到该字符串的数字的长度

    基本上我需要在数据框中取一列 其中包含字符和数字的组合 例如 XYZABC 123441 s sdx 和类似的类型 我需要删除所有标点符号 单字母单词 用单空格替换双空格 修剪字符串 并将数字替换为 NUMB 其中 表示数字的长度 所以这里