首页 > 解决方案 > 替换 Numpy 数组中的子数组

问题描述

我正在尝试用相同形状的数组替换 Numpy 数组中的子数组,以便在两个数组中镜像任何更改。我在 IDLE 中运行了以下代码。

import numpy
a=numpy.zeros((2,1))

a
array([[0.],
       [0.]])

b=numpy.zeros((1))
b
array([0.])

a[0]=b
b[0]=1

b
array([1.])

现在我希望a在这个例子中的输出是:

array([[1.],
       [0.]])

但相反,我得到:

a
array([[0.],
       [0.]])

我一直在尝试阅读有关切片和索引的内容,但对我来说,我在这里做错了什么并不是很明显,或者是否有可能得到我想要的结果。所以我希望有人能告诉我如何,如果有的话,我可以做到这一点。

标签: pythonarraysnumpy

解决方案


您可以初始化b为 的一部分a,然后更改b也会修改a,即:

import numpy as np

a=np.zeros((2,1))
b=a[0]
b[0]=1

a
array([[1.],
       [0.]])

希望这可以帮助。


推荐阅读