Python - 在每一行的不同位置对数组进行切片

2023-11-24

我有一个 2D python 数组,我想以一种奇怪的方式对其进行切片 - 我想要一个恒定宽度的切片,从每行的不同位置开始。如果可能的话,我想以矢量化的方式做到这一点。

例如我有数组A=np.array([range(5), range(5)])看起来像

array([[0, 1, 2, 3, 4],
       [0, 1, 2, 3, 4]])

我想按如下方式对其进行切片:每行 2 个元素,从位置 0 和 3 开始。起始位置存储在b=np.array([0,3])。期望的输出是:np.array([[0,1],[3,4]]) i.e.

array([[0, 1],
       [3, 4]])

我试图得到这个结果的明显事情是A[:,b:b+2]但这不起作用,而且我找不到任何可以的东西。

速度很重要,因为这将在循环中对较大的数组进行操作,并且我不想成为代码其他部分的瓶颈。


您可以使用np.take():

In [21]: slices = np.dstack([b, b+1])

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

Python - 在每一行的不同位置对数组进行切片 的相关文章

随机推荐

  • JavaMail BaseEncode64 错误

    我目前正在开发一个从 gmail 帐户下载附件的应用程序 现在 每次下载压缩附件时都会出错 但是 并非全部 有些我可以毫无错误地检索它 这是异常消息 Exception in thread main com sun mail util De
  • 根据键值删除日期早于所需日期点的行

    我有一个 pd dataframe 如下所示 key value date value 01 2017 01 13 value 01 2018 02 17 value 01 2018 04 02 value 01 2018 05 13 va
  • iOS 7 -- navigationController 正在设置我的 UIScrollView 的 contentInset 和 ContentOffset

    我有一个 UIScrollView 实际上是一个 UICollectionView 但这可能并不重要 当它出现在 IOS 7 中时 导航控制器将其 contentInset 和 contentOffset 设置为我不想要的值 它似乎正在尝试
  • Rails 格式验证——字母数字,但不是纯数字

    测试用户名格式验证的最佳方法是什么 使用字母数字的正则表达式 但不是纯数字 我一直在我的模型中使用以下验证 validates username format gt with gt a z0 9 a z0 9 a z0 9 i 数字用户名
  • 如何在 Python 中使用 ruamel.yaml 从 YAML 文件中获取注释?

    我想从使用加载的 YAML 文件中获取注释字符串ruamel yaml The 项目文件缺少 API 参考 我找不到相关示例 访问评论的正确方式是什么 import ruamel yaml yaml YAML 1 2 C1 a C2 C3
  • Python string.join ( list ) 最后一个条目带有“and”

    有什么优雅的方法可以连接句子部分列表 使结果为 a b 和 c 其中list is a b c 简单指定 join 仅实现 a b c 另外 我确实对此进行了一些搜索 但显然我没有尝试编写短语 因为除了自己枚举列表之外 我还没有想出任何东西
  • 如何在 Javascript 中提取本地图像的元数据?

    我想获取用户拖放到网页中的图像的元数据 我已经设置了拖放功能 但是 图像实际上并未上传到服务器 它是在本地访问的 我仍然可以使用 Javascript 从图像中获取元数据吗 如果是这样 我该怎么做 有哪些好的图书馆 如果没有 我是否必须上传
  • 如何从 C# 中的二维数组中删除行和列?

    如何在 C 中删除二维数组中的特定行和列 int array 1 2 3 4 5 6 7 8 9 假设我想删除第 i 行和第 i 列 跳过它们 对于 nXn 数组而不仅仅是 3x3 并将剩余的数组存储在新数组中 所以输出将是 5 6 8 9
  • 有没有办法检查两个数组是否具有相同的元素?

    假设我有 2 个数组 firstArray 1 2 3 4 5 secondArray 5 4 3 2 1 我想知道它们是否包含相同的元素 而顺序并不重要 我知道我可以编写一个函数对它们进行排序 然后循环遍历它们进行检查 但是是否有为此预先
  • 获取维恩图中的项目列表

    使用以下代码很容易绘制维恩图 library VennDiagram set seed 1 For reproducibility of results xx 1 lt list A sample LETTERS 15 B sample L
  • 通过 IP 访问 IISExpress 以获取 ASP.NET Core API

    我有一个在 IIS Express 上运行的 asp net core 项目 网址 http 本地主机 53142 and https 本地主机 44374 如果我在浏览器中输入本地主机 则可以工作 但是 如果我输入我的 IPv4 IP 地
  • mysql - 查询三个表

    我有一个包含三个表的关系数据库 第一个包含与第二个相关的 id 第二个包含与第三个相关的 id 第三个包含我想要的结果 是否可以使用单个查询来查询第一个表中的 id 该 id 给出了第三个表中与之相关的所有结果 抱歉 我是 mySQL 新手
  • CompletableFuture 和垃圾收集

    我想触发许多一次性异步 CompletableFutures 如下所示 for Job job jobs CompletableFuture supplyAsync gt job process whenComplete this doSo
  • ASMX Web 服务未序列化抽象基类

    我有一个抽象类 我们称之为生命体 它看起来像 public abstract class Lifeform public virtual int Legs get set public virtual int Arms get set pu
  • 如何在Bigcommerce中通过sku id更新产品的“inventory_level”?

    我正在尝试更新产品的库存水平 但不幸的是没有成功 这是我的代码 我想更新产品的 inventory level 但可以这样做
  • 多个远程数据库,单个本地数据库(花式复制)

    我有一个管理用户的 PouchDB 应用程序 用户拥有一个使用单个 CouchDB 数据库进行复制的本地 PouchDB 实例 很简单 这就是事情变得有点复杂的地方 我正在将 组 的概念引入到我的设计中 组将是不同的 CouchDB 数据库
  • 接口和抽象类有什么区别? [复制]

    这个问题在这里已经有答案了 可能的重复 接口与抽象类 一般 OO 我不太清楚其中的区别 Thanks 它们非常相似 但存在一些重要的技术差异 抽象类允许您为某些方法提供默认实现 但接口不允许您提供任何实现 你可以实现多个接口 但只能继承一个
  • 如何制作像谷歌地图应用程序一样的滑动面板?

    我正在寻找类似的东西Android滑动面板对于 iOS 我发现MBP下拉控制器 但它需要使用两个 ViewController 并且需要对我正在实现的应用程序的架构进行重大更改 我只想要在现有视图控制器中添加子视图的东西 我该怎么做呢 我在
  • 递归函数不返回任何内容? [复制]

    这个问题在这里已经有答案了 我编写了以下函数来实现我自己的二分搜索 def bisect input target mid len input 2 if len input 1 if input 0 target return 1 else
  • Python - 在每一行的不同位置对数组进行切片

    我有一个 2D python 数组 我想以一种奇怪的方式对其进行切片 我想要一个恒定宽度的切片 从每行的不同位置开始 如果可能的话 我想以矢量化的方式做到这一点 例如我有数组A np array range 5 range 5 看起来像 a