Python中文
首页
教程
问答
标签
搜索
登录
注册
迭代任意维数的numpy.array
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>是否有函数在numpy数组的任意维度上获取迭代器?</p> <p>在第一个维度上迭代很容易。。。</p> <pre><code>In [63]: c = numpy.arange(24).reshape(2,3,4) In [64]: for r in c : ....: print r ....: [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] [[12 13 14 15] [16 17 18 19] [20 21 22 23]] </code></pre> <p>但是在其他维度上迭代比较困难。例如,最后一个维度:</p> <pre><code>In [73]: for r in c.swapaxes(2,0).swapaxes(1,2) : ....: print r ....: [[ 0 4 8] [12 16 20]] [[ 1 5 9] [13 17 21]] [[ 2 6 10] [14 18 22]] [[ 3 7 11] [15 19 23]] </code></pre> <p>我正在自己制作一个生成器来完成这项工作,但我很惊讶没有一个名为numpy.ndarray.iterdim(axis=0)的函数来自动完成这项工作。</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我会用以下方法:</p> <pre><code>c = numpy.arange(2 * 3 * 4) c.shape = (2, 3, 4) for r in numpy.rollaxis(c, 2): print(r) </code></pre> <p>函数rollaxis在数组上创建一个新视图。在本例中,它将轴2移动到前面,相当于操作<code>c.transpose(2, 0, 1)</code>。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
在numpy中选择元素
5 回答
在numpy中选择满足多个条件的rgb图像像素
8 回答
在numpy中逐个索引一个数组
2 回答
在Numpy中逐像素迭代两个图像(使用随机条件)
8 回答
在numpy中通过数组嵌套for循环更好吗?
3 回答
在Numpy中通过逻辑索引得到矩阵的网格
5 回答
在numpy中重塑ndarray与常规数组?
6 回答
在NumPy中重塑数组
10 回答
在numpy中重塑时,如何保持特定尺寸不变?
8 回答
在numpy中重复,但大小不一
10 回答
在numpy中重建Keras模型
8 回答
在Numpy中重建R分位数2型
5 回答
在numpy中重新排列轴?
3 回答
在numpy中重新排序矩阵
10 回答
在numpy中重载运算符
8 回答
在numpy中附加2x2协方差矩阵
9 回答
在numpy中随机选择不同的集合?
9 回答
在Numpy中预处理一个张量流张量
5 回答
在numpy中高效地创建表
3 回答
在NumPy中高效地计算给定向量元素的所有成对乘积
3 回答