psi
我有一个形状为 (3,1000) 的numpy 数组
psi.__class__
Out[115]: numpy.ndarray
psi.shape
Out[116]: (3, 1000)
我想部分填充psi
另一个数组b
b.__class__
Out[113]: numpy.ndarray
b.shape
Out[114]: (3, 500)
我可以用循环来做到这一点:
for n in range(3):
psi[n][:500] = b[n]
但在我看来,应该有一种更直接的方法来做到这一点。但例如
psi[:][:500] = b
因错误而失败
Traceback (most recent call last):
File "<ipython-input-120-6b23082d9d6b>", line 1, in <module>
psi[:][:500] = b
ValueError: could not broadcast input array from shape (3,500) into shape (3,1000)
我对主题也有一些变化,但结果相似。这看起来非常简单。知道怎么做吗?
您可以使用:
或者,如果
n
循环中的 (=3) 与 的第一个维度不匹配b
:比较两种方法(
psi1
使用循环,psi2
作为向量赋值):