使用正则表达式选择 numpy 数组中的元素

2023-12-27

可以如下选择 numpy 数组中的元素

a = np.random.rand(100)
sel = a > 0.5 #select elements that are greater than 0.5
a[sel] = 0 #do something with the selection

b = np.array(list('abc abc abc'))
b[b==a] = 'A' #convert all the a's to A's

该属性由np.where检索索引的函数:

indices = np.where(a>0.9)

我想做的是能够在此类元素选择中使用正则表达式。例如,如果我想从中选择元素b上面那个匹配[Aab]regexp,我需要编写以下代码:

regexp = '[Ab]'
selection = np.array([bool(re.search(regexp, element)) for element in b])

这对我来说看起来太冗长了。有没有更短、更优雅的方法来做到这一点?


这里涉及一些设置,但除非 numpy 对我不知道的正则表达式有某种直接支持,否则这是最“numpytonic”的解决方案。它试图使数组迭代比标准 python 迭代更有效。

import numpy as np
import re

r = re.compile('[Ab]')
vmatch = np.vectorize(lambda x:bool(r.match(x)))

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

使用正则表达式选择 numpy 数组中的元素 的相关文章

随机推荐

  • 如何将 pandas 数据框列转换为本机 python 数据类型?

    我有一个数据框 其列数据类型需要映射到 python 本机数据类型 我希望能够从 numpy 获取字典并将每一列转换为其本机类型 例如 numpy object object numpy bool bool numpy string str
  • 如何通过ajax从服务器发送png图像以在浏览器中显示

    我一直在努力完成一项非常正常的任务 我将图像上传并保存到我的网络服务器 并将文件的路径保存在 MySQL 数据库中 这一切都正常 不起作用的是从服务器获取图像文件并通过 ajax 将其显示在页面上 最初我试图从数据库中检索路径 并更新标签的
  • MySQL 原子插入(如果不存在)具有稳定的自动增量

    在 MySQL 中 我使用包含唯一名称以及这些名称的 ID 的 InnoDB 表 客户需要原子地检查是否存在名称 如果不存在则插入新名称 并获取 ID ID 是一个AUTO INCREMENT值 并且在检查现有值时不得失控地增加 无论的设定
  • MySQL 布尔全文搜索中的“~”(波形符)运算符的行为与 MySQL 开发人员网站中所述不同

    我创建了下表fruits CREATE TABLE fruits id tinyint unsigned NOT NULL AUTO INCREMENT name varchar 200 NOT NULL PRIMARY KEY id FU
  • Python PIL Image.tostring()

    我是 Python 和 PIL 新手 我正在尝试遵循代码示例 了解如何通过 PIL 将图像加载到 Python 然后使用 openGL 绘制其像素 下面是一些代码行 from Image import im open gloves200 b
  • HTTPS 握手何时发生?

    我从各种来源了解到 HTTPS 握手是使用 HTTPS 最重要的部分 我在服务器之间内部使用 POST 来传递信息 并希望使用 HTTPS 我想知道实际的 HTTPS 握手持续 保持开放 多久 是否为我发送到服务器的每个 POST 重新完成
  • JTable 单元格中的小部件

    小部件位于JTable列应该与普通列没有区别 对吧 似乎存在行为差异 采取Swing 文档示例 http docs oracle com javase tutorial uiswing components table html data并
  • 如何解决类型的发散隐式扩展

    我想上我的案例课Event K V 按键订购K总是 但我需要能够比较不同值的事件V 如何解决这种发散的隐式扩展 import scala math Ordering object Event case class Event K V key
  • 无法使用 Dancer::Plugin::Database 连接到多个数据库

    我正在使用 Dancer Plugin Database 从我的 dancer 应用程序连接数据库 对于单连接来说它工作得很好 当我尝试多个连接时出现错误 如何添加多个连接 我在 config yml 文件中添加了以下代码 plugins
  • React Native TextInput setState() 问题

    我在 TextInput 的 onChangeText 中遇到了 React Native 的 this setState 问题 我试图在它下面的文本标签中显示 TextInput 的内容 然而 它什么也不显示 setState 调用永远不
  • ajax中如何检查数据是否传递

    我有以下要求来获取注册表以发布数据 但我无法测试它 有人可以帮忙吗 我想看看数据有没有通过 我有 jquery cdn 和 jquery validate 我有plunker http plnkr co edit XmsAh20ZjGwtS
  • 启用静态库中使用的 ifdef 宏

    可以使用静态库中定义的宏吗 我有自己的调试宏 名为TWDEBUG我在为共享而创建的静态库中使用它 如果我将静态库导入到新项目中并使用它 编译器似乎无法识别它 我确实设置了预处理器宏TWDEBUG and Other C flags and
  • 向 VTL 中的对象添加键/值对(适用于 API 网关)

    我正在为 AWS API Gateway 集成响应编写映射模板 我想将键 值对添加到返回 Lambda 函数的 JSON 对象 我的函数返回一些 JSON 如下所示 id 1234 name Foo Barstein 我希望模板输出如下内容
  • 当 AKMicrophone 存在时来自 AKMIDISampler 的连续正弦波

    当存在初始化的 AKMicrophone 时 我在项目中使用 AKMIDISampler 时遇到问题 在采样器上调用 播放 时 除了正确播放木版样本外 第一次 播放 被称为恒定正弦波开始播放 它永远不会停止 我用下面最少的代码复制了这个问题
  • 将 ruby​​ 脚本文件传递到 Rails 控制台

    有没有办法传递 ruby 文件 foo rb到 Rails 控制台 预期结果是控制台启动 Rails 环境后运行文件 或者任何其他方式允许我在 Rails 环境中执行文件 从命令提示符触发 实际上 最简单的方法是运行它load在 的里面ra
  • 从表中获取最后一条记录 ID 的最安全方法

    在 SQL Server 2008 及更高版本中 最好 最安全 最正确的方法是什么 从数据库表中检索ID 基于自动增量主键 检索其他列最后一行的值 例如 SELECT TOP 1 FROM Table ORDER BY DESC SELEC
  • 带镶嵌边框的 CSS 圆圈

    我正在尝试在 CSS 中创建一个带有镶嵌边框的圆圈 如下例所示 我有以下 HTML 和 CSS 但它没有产生我需要的效果 inlay circle width 15rem height 15rem border solid a7a9ac 2
  • 图数据结构的C实现

    我已经学习了图数据结构的基础知识 现在我想实现所有可以在图上执行的结构 算法 操作 请分享一些有用的链接 我可以在其中开始用 C 语言实现图形 邻接表 http en wikipedia org wiki Adjacency list an
  • 滚动查看器的子元素阻止用鼠标滚轮滚动?

    我在使鼠标滚轮滚动在以下 XAML 中工作时遇到问题 为了清楚起见 我对其进行了简化
  • 使用正则表达式选择 numpy 数组中的元素

    可以如下选择 numpy 数组中的元素 a np random rand 100 sel a gt 0 5 select elements that are greater than 0 5 a sel 0 do something wit