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中array和asarray的区别详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
狼山资源网 Copyright www.pvsay.com
暂无“对numpy中array和asarray的区别详解”评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。