【发布时间】:2015-05-19 09:13:56
【问题描述】:
假设我有一个形状为 (2,3) 的 numpy 数组,其中填充了浮点数。
我还需要一个包含所有可能的 X 和 Y 值组合的数组(它们在数组中的对应位置)。是否有类似 simpe 的函数可以从 numpy 数组中将索引作为元组获取,在该数组中我不需要 for 循环遍历数组?
示例代码:
arr=np.array([np.array([1.0,1.1,1.2]),
np.array([1.0,1.1,1.2])])
indices=np.zeros([arr.shape[0]*arr.shape[1]])
#I want an array of length 6 like np.array([[0,0],[0,1],[0,2],[1,0],[1,1], [1,2]])
#Code so far, iterates though :(
ik=0
for i in np.arange(array.shape[0]):
for k in np.arange(array.shape[1]):
indices[ik]=np.array([i,k])
ik+=1
在此之后,我还想创建一个数组,其中包含“XYZ 坐标”的“索引”数组的长度,就像每个包含 XY“索引”和“arr”中的 Z 值的元素一样。有没有比这更简单的方法(如果可能的话,无需再次遍历数组):
xyz=np.zeros(indices.shape[0])
for i in range(indices.shape[0]):
xyz=np.array([indices[i,0],indices[i,1],arr[indices[i,0],indices[i,1]]
【问题讨论】: