Numpy迭代在3d传染媒介列阵

时间:2014-05-20 20:10:34

标签: python arrays numpy 3d iteration

我试图在其中包含3d numpy数组(3d向量)的Numpy数组进行迭代。 像这样:

import numpy as np


Matrix = np.zeros(shape=(10, 3))
# => [
    [0,0,0],
    [0,0,0],
    ...
    [0,0,0]
]

我需要迭代它,获得每个3d Vector。 在伪代码中:

for vector in Matrix
    print vector #=> [0,0,0]

有没有Numpy本地方式这样做? 这样做的最快方法是什么?

谢谢!

弗兰

1 个答案:

答案 0 :(得分:2)

您的伪代码只缺少一个冒号:

for vector in matrix:
    print vector

也就是说,您通常希望避免对NumPy数组进行显式迭代。尽可能利用广播操作和NumPy内置功能;它将循环移动到C而不是解释Python,它也会产生更短的代码。