python - 更新 numpy.ndarray 中的值

标签 python numpy

我正在尝试更新数组中的元素。如果我有一个数组,请说:

[[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/

相关文章:

python - HTTP POST 和使用 Scrapy 解析 JSON

python - 玛雅/Python : Creating Unique Commands in Loop-Generated UI

python - 从split()获取最少数量的元素

python - 如何将 numpy 数组转换为内存中的 pil 图像?

matlab - 使用 h5py 读取 matlab .mat 文件

python - 如何在 Pandas 数据框上应用定义的函数

python - Numpy where 函数多个条件

python - 绑定(bind)和未绑定(bind)方法对象的 id() --- 有时不同对象相同,有时相同对象不同

python - IBAN 掩码的正则表达式

python - 有效地将不均匀的列表列表转换为用 nan 填充的最小包含数组