有没有方法将2D阵列加载到三个1D阵列中?

时间:2014-02-12 21:37:09

标签: python numpy

是否有更有效的方法甚至是将2D numpy数组data[n,m]加载到三个1D数组X[n*m]Y[n*m]Z[n*m]中的方法比循环索引?我做的是:

n = len(data[:,0])
m = len(data[0,:])
X = zeros(n*m)
Y = zeros(n*m)
Z = zeros(n*m)
c = 0
for i in range(n):
    for j in range(m):
        X[c] = i
        Y[c] = j
        Z[c] = data[i,j]
        c += 1

1 个答案:

答案 0 :(得分:2)

如果您的代码实际上符合您的意图。这应该是等价的。

X,Y =  np.indices(data.shape)
Z = data.ravel()
X = X.ravel()
Y = Y.ravel()