NumPy - 删除包含相同元素的子数组

2024-01-14

假设我有以下 4 x 3 x 3 数组,

array([[[-2, -2, -2],
        [-2, -2, -2],
        [-2, -2, -2]],

       [[-2, -2, -2],
        [-2, -2, -2],
        [-2, -2, -2]],

       [[-2, -2, 71],
        [-1, -1, -1],
        [71, -1, 52]],

       [[-2, -2, -2],
        [-2, -2, -2],
        [-2, -2, -2]]])

我想按以下标准过滤此类数组:

将每个 3 x 3 数组视为一个块。如果该块中的所有元素都等于 -2,我们应该切割整个块,因此目标数组将如下所示(1 x 3 x 3):

array([[[-2, -2, 71],
        [-1, -1, -1],
        [71, -1, 52]]])

我只能想出一个带有明确的暴力解决方案if条件和一个for循环,但不起作用。谁能分享更好的方法吗?

您可以通过以下命令重新创建原始数组

array = np.array([[-2,-2,-2,-2,-2,-2,-2,-2,-2],
    [-2,-2,-2,-2,-2,-2,-2,-2,-2],
    [-2,-2,71,-1,-1,-1,71,-1,52],
    [-2,-2,-2,-2,-2,-2,-2,-2,-2]])
newarr = array.reshape(4,3,3)

如果您希望沿轴 0 的数组始终为特定值(例如 -2 或 872385 等),那么其他答案很好。

如果您想要更通用的东西,即想要过滤掉包含单个值的任何数组,则可以按排名过滤数组。

由于任何单个值的矩阵都将具有排名 1,因此您可以按rank != 1:

In [2]: x[np.linalg.matrix_rank(x) != 1]
Out[2]:
array([[[-2, -2, 71],
        [-1, -1, -1],
        [71, -1, 52]]])

这适用于沿 0 轴填充相同值的任何矩阵。另一个例子:

In [4]: x
Out[4]:
array([[[ 5,  5,  5],
        [ 5,  5,  5],
        [ 5,  5,  5]],

       [[-2, -2, -2],
        [-2, -2, -2],
        [-2, -2, -2]],

       [[-2, -2, 71],
        [-1, -1, -1],
        [71, -1, 52]],

       [[99, 99, 99],
        [99, 99, 99],
        [99, 99, 99]]])

In [5]: x[np.linalg.matrix_rank(x) != 1]
Out[5]:
array([[[-2, -2, 71],
        [-1, -1, -1],
        [71, -1, 52]]])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NumPy - 删除包含相同元素的子数组 的相关文章

  • 将 numpy 数组合并为单个 int

    numpy 数组怎么可以这样 10 22 37 45 转换为单个 int32 数字 如下所示 10223745 这可以工作 gt gt gt int join map str 10 22 37 45 10223745 基本上你使用map s
  • 如何返回 cost, grad 作为 scipy 的 fmin_cg 函数的元组

    我怎样才能使 scipy 的fmin cg使用一个返回的函数cost and gradient作为元组 问题是有f对于成本和fprime对于梯度 我可能必须执行两次操作 非常昂贵 grad and cost被计算 此外 在它们之间共享变量可
  • 反编译Python 3.9.2的PYC文件[重复]

    这个问题在这里已经有答案了 目前 我有一个 3 9 2 版本的 python 的 PYC 文件 P S 这适用于所有 3 9 及更高版本 我正在尝试反编译 PYC 文件 但它显示错误 因为 uncompyle6 或者更确切地说 新版本 de
  • 是否可以从 Julia 调用 Python 函数并返回其结果?

    我正在使用 Python 从网络上抓取数据 我想使用这些数据在 Julia 中运行计算 是否可以在 Julia 中调用该函数并返回其结果 或者我最好直接导出到 CSV 并以这种方式加载数据 绝对地 看PyCall jl https gith
  • 在Python中从大文件中搜索单词列表

    我是新蟒蛇 我有一个单词列表和一个非常大的文件 我想删除文件中包含单词列表中的单词的行 单词列表按排序给出 并且可以在初始化期间输入 我正在努力寻找解决这个问题的最佳方法 我现在正在进行线性搜索 这花费了太多时间 有什么建议么 您可以使用i
  • Matplotlib:如何有效地将大量线段着色为独立渐变

    Python 绘图库 如何有效地将大量线段着色为独立渐变 已经 阅读this https stackoverflow com questions 8500700 how to plot a gradient color line in ma
  • 如何过滤 Pandas GroupBy 对象并获取 GroupBy 对象?

    当对 Pandas groupby 操作的结果执行过滤时 它返回一个数据帧 但假设我想执行进一步的分组计算 我必须再次调用 groupby 这似乎有点绕 有更惯用的方法吗 EDIT 为了说明我在说什么 我们无耻地从 Pandas 文档中窃取
  • Python Tkinter 模块不显示输出

    我正在尝试学习 Python 并尝试使用 Python 中的 GUI 并遇到了这个 Tkinter 模块 我的代码运行 但运行时窗口没有出现 我的代码如下 from Tkinter import to create a root windo
  • Arcpy 模数在 Pycharm 中不显示

    如何将 Arcpy 集成到 Pycharm 中 我尝试通过导入模块但它没有显示 我确实知道该模块仅适用于 2 x python arcpy 在 PyPi Python 包索引 上不可用 因此无法通过 pip 安装 要使用 arcpy 您需要
  • 如何在 C# 中将 Json 转换为对象

    我想将 Json 转换为 C 中的对象 这里的 Json 是 值 e920ce0f e3f5 4c6f 8e3d d2fbc51990e4 如何使用 Object 问题看似愚蠢 但其实并不那么愚蠢 我没有简单的 Json 我有 IEnume
  • 如何使用scrapy检查网站是否支持http、htts和www前缀

    我正在使用 scrapy 来检查某些网站是否工作正常 当我使用http example com https example com or http www example com 当我创建 scrapy 请求时 它工作正常 例如 在我的pa
  • 使用 for 循环创建一系列元组

    我已经搜索过 但找不到答案 尽管我确信它已经存在了 我对 python 很陌生 但我以前用其他语言做过这种事情 我正在以行形式读取数据文件 我想将每行数据存储在它自己的元组中 以便在 for 循环之外访问 tup i inLine wher
  • 在Raspberry pi上升级skimage版本

    我已经使用 Raspberry Pi 2 上的 synaptic 包管理器安装了 python 包 然而 skimage 模块版本 0 6 是 synaptic 中最新的可用版本 有人可以指导我如何将其升级到0 11 因为旧版本中缺少某些功
  • 如何指示 urwid 列表框的项目数多于当前显示的项目数?

    有没有办法向用户显示 urwid 列表框在显示部分上方 下方有其他项目 我正在考虑类似滚动条的东西 它可以显示条目的数量 或者列表框顶部 底部的单独栏 如果这个行为无法实现 有哪些方法可以实现这个通知 在我的研究过程中 我发现这个问题 ht
  • 检测是否从psycopg2游标获取?

    假设我执行以下命令 insert into hello username values me 我跑起来就像 cursor fetchall 我收到以下错误 psycopg2 ProgrammingError no results to fe
  • 如何将带有参数的Python装饰器实现为类?

    我正在尝试实现一个接受一些参数的装饰器 通常带有参数的装饰器被实现为双重嵌套闭包 如下所示 def mydecorator param1 param2 do something with params def wrapper fn def
  • rpy2 无法加载外部库

    希望有人能帮忙解决这个问题 R版本 2 14 1rpy2版本 2 2 5蟒蛇版本 2 7 3 一直在尝试在 python 脚本中使用 rpy2 加载 R venneuler 包 该包以 rJava 作为依赖项 venneuler 和 rJa
  • Array.of 与“[ ]”。何时使用 Array.of 而不是“[ ]”?

    当我发现时我正在读一些书Array of https developer mozilla org en docs Web JavaScript Reference Global Objects Array of 根据 MDN Array o
  • 如何获取pandas中groupby对象中的组数?

    我想知道有多少个独特的组需要执行计算 给定一个名为 groupby 的对象dfgroup 我们如何找到组的数量 简单 快速 Pandaic ngroups 较新版本的 groupby API pandas gt 0 23 提供了此 未记录的
  • 无法安装最新版本的 Numpy (1.22.3)

    我正在尝试安装最新版本的 numpy 即 1 22 3 但看起来 pip 无法找到最后一个版本 我知道我可以从源代码本地安装它 但我想了解为什么我无法使用 pip 安装它 PS 我有最新版本的pip 22 0 4 ERROR Could n

随机推荐

  • Maven Surefire 测试插件运行测试,即使它们被排除:

    我排除插件中除我的测试套件之外的所有测试
  • 想要使用Excel VBA选择网站上的按钮

    我想使用 Excel 来浏览网页 但该网站不像普通网站 亚马逊 谷歌等 那样使用 ID 该网站是http www scoopmae com http www scoopmae com 我如何选择 预订演示 按钮 我通常会使用 getelem
  • 在引用任何静态成员之前调用静态构造函数

    根据文档 静态构造函数用于初始化任何静态数据 或执行只需执行一次的特定操作 它被自动调用before创建第一个实例或引用任何静态成员 但我在 stackoverflow 帖子中看到了以下来自 C 规范的引用 如果类中存在静态构造函数 第 1
  • Vim 编译时支持 Python 但看不到 sys 版本

    我编译了 Vim 的开发版本 同时支持 Python 2 和 Python 3 的输出vim version has python dyn and python3 dyn在里面 我运行配置文件 G configure enable pyth
  • Powershell:如何阻止脚本中显示错误?

    例如 当我的 PowerShell 脚本尝试为不存在的服务器 在本例中为 bla 创建 SQL Server 对象时 PowerShell 会以红色显示大量 PowerShell 错误 由于我的脚本检查了 在此类调用以及显示和记录错误之后
  • 如何在服务器端处理模式下使用JOIN进行数据库查询

    我正在使用 jQuery DataTables 作为我的视图列表 我使用了服务器端处理模式 该模式非常适用于大型数据集 但我的问题是我只能使用单个数据库表来完成此操作 使用多个表的自定义查询怎么样 JOIN我的代码无需改变太多 所以我有这个
  • 从 Cake 1.3 迁移到 2.0 及更高版本 - 迁移现有版本,还是仅用于新版本?

    我即将完成我的第一个 CakePHP 驱动的网站 刚刚看到他们已经在使用 CakePHP 2 0 还不是稳定版本 我的问题 迁移到 CakePHP 的新版本 当它成为 稳定 版本时 是否非常耗时 我知道他们有迁移指南 但是 我以前从未使用过
  • 当制作电子表格副本时,installedOnEdit 触发器也会被复制

    我有一个installedOnEdit使用触发器是因为我隐藏和取消隐藏根据条件受保护的列 现在 我已经由工作表所有者添加了触发器 我确实复制了此电子表格并与利益相关者共享以获取意见 在制作电子表格时 脚本确实会被复制 但触发器不会 这怎么可
  • Apache NetBeans 12.1 支持 JDK 15 吗?

    Oracle 最近发布了 JDK 15 我想知道最新版本的 NetBeans IDE Apache NetBeans 12 1 是否支持 JDK 15 我知道 NetBeans 并未正式支持 JDK 15 但我想问是否有人知道它非正式地支持
  • 使用PhpStorm IdeaVim,我无法使用shift+箭头键来选择单词

    我正在使用 PhpStorm 7 1 2 和 IdeaVim 插件 在插入模式下 我想使用选择单词Shift ArrowKey 然而 这个 IdeaVim 插件似乎阻止了这样做 我只能使用命令模式突出显示单词v key shift Home
  • 使用 IntentService 进行线程同步

    我正在尝试创建一个通过意图服务发出 HTTP 请求的应用程序 我需要应用程序等待服务完成其运行 即 让请求返回一些数据 然后再继续其操作 因为其操作涉及对我希望从 HTTP 请求接收的数据的操作 我已经尝试了多种方法 Semaphore C
  • iPhone 开发中的 Objective-C 属性

    Objective C 中属性和实例变量有什么区别 我需要用 OOP 术语来理解这一点 属性声明只是一个用于访问实例变量的便利包装器 在实现中使用 synthesize 吗 thanks 代码牛仔 属性和 ivars 是两个完全不同的东西
  • 在 Datagridview 中显示数据库搜索结果

    我在 Windows 窗体应用程序 c 中使用 Visual Studio 2013 和 SQL Server 2012 作为数据库 我想在一个中显示我的查询搜索结果DataGridView public void customerSear
  • 从命令行远程运行 Jmeter

    是否可以在本地计算机上没有 Jmeter 客户端的情况下在远程服务器上运行 Jmeter 我的意思是我可以从命令提示符在远程计算机上运行 jmeter bat 吗 这样它就可以在远程服务器上运行测试并将结果存储在那边的listener jt
  • Swift:使用闭包的枚举?

    我正在创建一个应用程序 可以将无限数量的规则应用于无限数量的节点 我计划使用核心数据作为数据存储 并在节点和规则之间创建简单的一对多关系 在 Objective C 中 我可能会为每个规则创建类并让它们符合协议 NSArray ruleCl
  • 覆盖主题 bootstrap 4 中的默认 $border-radius-lg 变量

    我在我的项目中使用 bootstrap 4 框架 我通过覆盖核心变量来主题化 如果我调整网格变量 它们会起作用 但是如果我尝试更新 border radius lgvar 没有发生任何改变 默认的 border radius lg尺寸仍在使
  • 在 asyncData Nuxt.js 中传递数据

    我是 nuxt js 的新手 我想问是否有任何方法可以在 asyncData 中传递数据 这是代码
  • 在 MVC 剃刀回发后保持下拉菜单选择状态?

    在 MVC 4 Web 中 我有包含以下示例代码的下拉列表 Html DropDownList Condition2 new SelectList Model Makes CCultureId CTitle All new class sp
  • 项目错误:QT 中的未知模块:多媒体

    我正在尝试编译qGo https github com pzorin qgo 安装后qt5 git clone https github com pzorin qgo git cd qgo qmake make sudo make inst
  • NumPy - 删除包含相同元素的子数组

    假设我有以下 4 x 3 x 3 数组 array 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 71 1 1 1 71 1 52 2 2 2 2 2 2 2 2 2 我想按以下标准过滤此类数组 将每个 3