通过沿最后一个轴对每个第 n 个元素进行采样来构造数组

2024-02-16

Let a是一些(不一定是一维)NumPy 数组n * m沿其最后一个轴的元素。我希望沿着它的最后一个轴“分割”这个数组,以便我将每个n'第一个元素从0直到......为止n.

明确地让a有形状(k, n * m)然后我想构造形状数组(n, k, m)

np.array([a[:, i::n] for i in range(n)])

我的问题是,虽然这确实返回了我想要的数组,但我仍然觉得可能有一个更高效、更简洁的 NumPy 例程。

Cheers!


我认为这可以满足您的要求,没有循环。我测试了 2D 输入,可能需要对更多维度进行一些调整。

indexes = np.arange(0, a.size*n, n) + np.repeat(np.arange(n), a.size/n)
np.take(a, indexes, mode='wrap').reshape(n, a.shape[0], -1)

在我的测试中,它比您原来的列表解决方案慢一点。

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

通过沿最后一个轴对每个第 n 个元素进行采样来构造数组 的相关文章

随机推荐

  • 文件夹被锁定,无法解锁

    当我尝试更新或提交项目中的代码时 它告诉我该文件夹已锁定 当我尝试 释放锁定 时 它说该工作空间中没有任何内容可以解锁 这意味着什么 为什么我无法更新 提交甚至清理项目 右键单击您的 Subversion 工作目录文件夹 然后选择Torto
  • 在 Macos 上,rails new 失败并显示“无法设置其他经过身份验证的数据”

    我正在尝试让 ruby on Rails 在带有 M1 芯片的新 Mac 上运行 跑步rails new之后失败append gitignore出现以下错误 Library Ruby Gems 2 6 0 gems activesuppor
  • VS2010 程序集加载错误

    当我尝试在 Visual Studio 2010 中构建 ASP NET 4 项目时 出现以下错误 无法加载文件或程序集 file C Dev project trunk bin Elmah dll 或其依赖项之一 不支持操作 HRESUL
  • 如何将容器作为服务的参数

    在我的服务构造函数中 public function construct EntityManager entityManager SecurityContextInterface securityContext this gt securi
  • Tastypie 和原始 sql

    如何让 Tastypie 获取原始 SQL 查询集 queryset Foo objects raw sql 似乎不起作用 难道不可能吗 queryset super class name self get query set return
  • runnodes 时发生非法反射访问操作

    我正在尝试运行我的 corda 节点 但我遇到了一个奇怪的问题 节点正在正确启动 正如您在日志中看到的那样 C Repositorio cordapp template kotlin build nodes gt runnodes log
  • 如何在 Python (2.7 + ) 中等待 ENTER 键按下? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想知道一种简单的方法来等待用户按下特定的键 例如 Enter 或 Escape 但不是两者 然后在感应到按键后进一步执行代码 Try r
  • 如何在 Laravel 项目中添加 jQuery

    我是 Laravel 框架的新手 我想在使用 Laravel 框架构建的 Web 应用程序中使用 jQuery 但不知道怎么链接jQuery 库在 Laravel 项目中 你可以使用在线图书馆
  • 在数据框的列上进行 Strsplit [重复]

    这个问题在这里已经有答案了 我有一个data frame其中变量之一是向量 或列表 如下所示 MyColumn lt c A B C D E F G MyDF lt data frame group id 1 4 val 11 14 cat
  • 如何使用正则表达式搜索带括号的字符串?

    我有一个 txt 文件 其中包含以下字符串 A 123 B 456 Ab 123 我想搜索Ab 123 在txt文件中 我尝试过的 re search r Ab 123 string 有 12 个具有特殊含义的字符 您可以使用以下命令转义到
  • 与 preg_match_all 匹配

    我得到这个正则表达式 val 123 4 56 regex preg match all regex val matches 谁能告诉我为什么这只匹配最后一个数字 56 而不是每组数字 这是上面的正则表达式运行后 matches 包含的内容
  • 使用不带 InvokePattern 或 clickablePoint 的 UI Automation在单击按钮时调用

    我尝试将点击消息发送到 或调用 另一个应用程序中的按钮 我使用 UISpy exe 并可以找到我需要的元素 但它没有 id 没有 clickablePoint 也没有 Invoke 模式 我尝试了以下代码 var processStartI
  • 一种为对象数据库建立索引的方法

    我正在使用对象数据库 ZODB 来存储许多对象之间的复杂关系 但遇到了性能问题 因此 我开始构建索引以加快对象检索和插入速度 这是我的故事 希望对您有所帮助 最初 当我向数据库添加对象时 我会将其插入专用于该对象类型的分支中 为了防止多个对
  • 没有 JDK 的 JRE 6 (Windows) 上的堆转储

    有没有办法在没有安装 JDK 的远程计算机上创建堆转储 我无法更改安装 设置 并且它在 Windows 上运行 所以我可以随时访问命令行工具 问题是远程计算机上的 Java 应用程序冻结 没有内存不足异常 因此 XX HeapDumpOnO
  • JAXB 解组忽略命名空间将元素属性变成 null

    我正在尝试使用 JAXB 将 xml 文件解组为对象 但遇到了一些困难 实际项目的 xml 文件中有几千行 因此我以较小的规模重现了错误 如下所示 XML 文件
  • 防止“xmlValue”剥离
    标签

    我遇到了一个问题 其中xmlValue剥离 br 我需要保留的标签 或转换为其他角色 然后我可以strsplit on 这是一个例子 gt f lt htmlParse getForm http sites target com site
  • WaitForMultipleObjects 会修改*多个*对象的状态吗? [复制]

    这个问题在这里已经有答案了 使用时WaitForMultipleObjects bWaitAll FALSE http msdn microsoft com en us library windows desktop ms687025 28
  • 为什么 1ul << 64 返回 1 而不是 0? [复制]

    这个问题在这里已经有答案了 考虑下面的代码 Simply loop over until 64 is hit unsigned long x 0 for int i 0 i lt 64 i if i 64 x 1ul lt lt i pri
  • 给定一个整数数组,使用数组中的数字找到最大的数字,使其能被 3 整除

    例如 数组 4 3 0 1 5 假设所有数字都 gt 0 数组中的每个元素也对应一个数字 即数组中的每个元素都在 0 到 9 之间 在上面的数组中 最大的数字是 5430 使用数组中的数字 5 4 3 和 0 我的方法 为了能被 3 整除
  • 通过沿最后一个轴对每个第 n 个元素进行采样来构造数组

    Let a是一些 不一定是一维 NumPy 数组n m沿其最后一个轴的元素 我希望沿着它的最后一个轴 分割 这个数组 以便我将每个n 第一个元素从0直到 为止n 明确地让a有形状 k n m 然后我想构造形状数组 n k m np arra