首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在ndarray的切片上迭代

在ndarray的切片上迭代
EN

Stack Overflow用户
提问于 2013-06-28 06:41:18
回答 5查看 6.4K关注 0票数 8

假设我有一个3D numpy.array,例如维度为x,y,z的,有没有一种方法可以沿着特定的轴迭代切片?类似于:

代码语言:javascript
运行
复制
for layer in data.slices(dim=2):
    # do something with layer

编辑:为了清楚起见,示例是一个dim=3数组,即shape=(len_x,len_y,len_z)。Elazar和等效的kamjagin的解决方案可以工作,但不是通用的-你必须手动构造[:, :, i],这意味着你需要知道维数,并且代码不够通用,不能处理任意维数的数组。你可以使用像[..., :]这样的东西来填充缺失的维度,但同样,你仍然需要自己构建它。

对不起,应该说得更清楚些,这个例子有点太简单了!

EN

Stack Overflow用户

发布于 2013-06-28 06:56:31

如果我错了,请纠正我,但在我看来,您的3D数组将如下所示:

代码语言:javascript
运行
复制
>>> my_array.shape
    (3,N)

其中N是数组的大小。所以如果你想迭代一个维度,你可以这样做:

代码语言:javascript
运行
复制
>>> for item in my_array[1,:]:

这将在第二个维度上迭代。

票数 0
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17354439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档