我的数组newx
和newy
的大小分别为nx*ns
和ny*ns
nx!=ny
。
我希望能够通过以下方式设置数组newx
中newy
和f
定义的元素:
f = np.zeros([nx,ny,ns])
for s in range(ns):
f[newx[:,s],newy[:,s],s] = s
不幸的是,这会出错:
ValueError: shape mismatch: objects cannot be broadcast to a single shape
我理解错误,但对于我的生活,我们无法找出正确的语法。请帮忙。
编辑提供了示例代码:
import numpy as np
newx = np.array([[0,1],
[1,2],
[2,3],
[3,0]])
newy = np.array([[0,1],
[1,2],
[2,0]])
f = np.zeros([4,3,2])
for s in range(2):
f[newx[:,s],newy[:,s],s] = s
答案 0 :(得分:1)
newx和newy必须具有相同的形状,因此您必须重新塑造它们。
f = np.zeros([4,3,2])
newX = newx.reshape(8,1)
newY = newy.reshape(6,)
for s in range(2):
f[newX , newY ,s] = s
print f