为numpy数组分配新值的问题[重复]
Posted
技术标签:
【中文标题】为numpy数组分配新值的问题[重复]【英文标题】:Issue assigning new values to numpy array [duplicate] 【发布时间】:2019-12-26 22:49:10 【问题描述】:当我将数据数组分配给新变量并尝试更改新变量中的元素时,我遇到了问题。例如,如果我有数组 y = [1,2,3],我将新数组 y1 的值设置为:y1 = y。然后,我想在不改变 y 的情况下将 y1 的第一个元素更改为 9。但是,当我执行命令 y1[0] = 9 时,它会更改 y1 和 y 的第一个元素。如何在不更改 y 的情况下更改 y1?
这是我的代码示例,
import numpy as np
y = np.array([1,2,3])
y1 = y
y1[0] = 9
print(y1)
print(y)
我预计输出是:
array([9,2,3])
array([1,2,3])
但是,代码返回以下内容
array([9,2,3])
array([9,2,3])
【问题讨论】:
通过简单的***搜索:***.com/questions/19341365/setting-two-arrays-equal 【参考方案1】:使用y.copy()
创建数组的新副本:
import numpy as np
y = np.array([1,2,3])
y1 = y.copy()
y1[0] = 9
print(y1)
print(y)
输出:
[9 2 3]
[1 2 3]
【讨论】:
以上是关于为numpy数组分配新值的问题[重复]的主要内容,如果未能解决你的问题,请参考以下文章