
array和asarray都可以将结构数据转化为ndarray,主要区别是当源数据已经是ndarray类型时,array依然会拷贝一份,而asarray不会;当源数据不是ndarray类型时,两者没有区别(都会拷贝一份)。
例一:
import numpy as np
a=[[1,1,1],[1,1,1]]
b=np.array(a)
c=np.asarray(a)a[1][1]=2
print(a)
print(b)
print(c)
输出:
[[1,1,1],[1,2,1]]
[[1 1 1]
[1 1 1]]
[[1 1 1]
[1 1 1]]
例二:
import numpy as np
a=np.zeros([2,3])
b=np.array(a)
c=np.asarray(a)a[1][1]=2
print(a)
print(b)
print(c)
输出:
[[0. 0. 0.]
[0. 2. 0.]]
[[0. 0. 0.]
[0. 0. 0.]]
[[0. 0. 0.]
[0. 2. 0.]]




近期评论