array和asarray都可以将结构数据转化为ndarray,但是主要区别就是当数据源是ndarray时,array仍然会copy出一个副本,占用新的内存,但asarray不会。
当传入参数本身是ndarray的时候才有作用
a = np.array([1,2,3])
b = np.asarray(a)
b[0] = -1
print(a)
输出:
[-1 2 3] 可以看出改b的值的时候,a的值也改了,说明
这是浅拷贝
a = np.array([1,2,3])
b = np.array(a)
b[0] = -1
print(a)
输出:
[1 2 3]
说明这是深拷贝