我正在尝试更新数组中的元素。如果我有一个数组,请说:
[[0, 0],
[0, 0]]
据我所知更新的方式例如。第一个元素为 0.5,是
array[0,0] = 0.5
但是,当我打印数组时,内容没有改变。我在 Stack Overflow 上读到了一些关于创建数组副本的内容,但我不知道这是否适用。
任何帮助都会很棒
最佳答案
你的问题是你的数组是整数值的(因为你用整数初始化它),当你向它写入一个 float 时,它会四舍五入到0。如果你写入
array = np.array([[0, 0], [0, 0]])
array[0, 0] = 1.5
>>> array = array([[1, 0],
[0, 0]])
要获得预期的行为,请使用 float 对其进行初始化
array = np.array([[0., 0.], [0., 0.]])
或明确指定dtype
array = np.array([[0, 0], [0, 0]], dtype=np.float32)
关于python - 更新 numpy.ndarray 中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55385105/