numpy的array和asarray
numpy中的array和asarray有细微差别
如果原始数据是python内置的列表类型,比如list,则使用array和asarray是一样的,都是新开辟了一个空间,比如:
data3 = [1,2,3]
test1 = np.array(data3)
test2 = np.asarray(data3)
print(data3)
print(test1)
print(test2)
输出为:
而如果原始数据就是ndarray型的,那么就有区别了,使用array会开辟一个新空间,而asarray则相当于C语言的指针一样,不创建新的数据对象,而是与原始数据指向同一个值,下面举个栗子
data4 = np.zeros((3,3))
test1 = np.array(data4)
test2 = np.asarray(data4)
# 注意改了data4的第3行
data4[2] = 1
print(data4)
print(test1)
print(test2)
输出结果可以看出test2的第三行同样跟着改了