对numpy中array和asarray的区别
程序员文章站
2022-03-30 11:29:28
...
下面为大家分享一篇对numpy中array和asarray的区别详解,具有很好的参考价值,希望对大家有所帮助。一起过来看看吧
array和asarray都可以将结构数据转化为ndarray,但是主要区别就是当数据源是ndarray时,array仍然会copy出一个副本,占用新的内存,但asarray不会。
举例说明:
import numpy as np #example 1: data1=[[1,1,1],[1,1,1],[1,1,1]] arr2=np.array(data1) arr3=np.asarray(data1) data1[1][1]=2 print 'data1:\n',data1 print 'arr2:\n',arr2 print 'arr3:\n',arr3
输出:
data1: [[1, 1, 1], [1, 2, 1], [1, 1, 1]] arr2: [[1 1 1] [1 1 1] [1 1 1]] arr3: [[1 1 1] [1 1 1] [1 1 1]]
可见array和asarray没有区别,都对元数据进行了复制。
import numpy as np #example 2: arr1=np.ones((3,3)) arr2=np.array(arr1) arr3=np.asarray(arr1) arr1[1]=2 print 'arr1:\n',arr1 print 'arr2:\n',arr2 print 'arr3:\n',arr3
输出:
arr1: [[ 1. 1. 1.] [ 2. 2. 2.] [ 1. 1. 1.]] arr2: [[ 1. 1. 1.] [ 1. 1. 1.] [ 1. 1. 1.]] arr3: [[ 1. 1. 1.] [ 2. 2. 2.] [ 1. 1. 1.]]
此时两者才表现出区别
相关推荐:
基于numpy.random.randn()与rand()的区别详解
以上就是对numpy中array和asarray的区别的详细内容,更多请关注其它相关文章!
推荐阅读
-
对python中list的拷贝与numpy的array的拷贝详解
-
对numpy和pandas中数组的合并和拆分详解
-
对python中 math模块下 atan 和 atan2的区别详解
-
对python中list的拷贝与numpy的array的拷贝详解
-
详谈Python中列表list,元祖tuple和numpy中的array区别
-
详谈js中数组(array)和对象(object)的区别
-
对python中dict和json的区别详解
-
对numpy和pandas中数组的合并和拆分详解
-
对numpy中的transpose和swapaxes函数详解
-
PHP中array_merge和array相加的区别分析