为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Numpy/Python 中轻松地对多维数组进行切片/索引?

如何在 Numpy/Python 中轻松地对多维数组进行切片/索引?

烙印99 2022-06-02 11:26:47
我有一个名为 rap 的大小(15 x 200 x 3)的 numpy 数组。我想根据 2d 列表对它进行切片,例如:fragment = [0  93            7  102            6  43           11  167]这基本上是我想要返回的原始 3d 数组的前两个索引的列表。当我尝试这样做时会出错:rap_sliced = rap[fragment, :]或者rap_sliced = rap[list(fragment), :]rap_sliced = rap[fragment]我究竟做错了什么?
查看完整描述

1 回答

?
芜湖不芜

TA贡献1796条经验 获得超7个赞

假设输入:


>>> fragment

[[0, 93], [7, 102], [6, 43], [11, 167]]

>>> fragment=np.array(fragment)

这将起作用:


rap[fragment[:, 0], fragment[:, 1], :]

所以


numpy_array[X, Y, Z]

其中X, Y, Z可以是单个值、列表(一维)或:


或者,numpy您可以这样做:


numpy_array[boolean_array]

在哪里numpy_array.shape=boolean_array.shape和boolean_array本质上为您提供True/False,无论是否返回具有给定坐标的值numpy_array


查看完整回答
反对 回复 2022-06-02
  • 1 回答
  • 0 关注
  • 83 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信