np.array和np.asarray区别

array和asarray都可将结构数据转换为ndarray类型。

但是主要区别就是当数据源是ndarray时,
array仍会copy出一个副本,占用新的内存,但asarray不会。

For example:

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 

output:

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  

output:

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.]] 
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,404评论 19 139
  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,124评论 2 89
  • 本系列文章面向深度学习研发者,希望通过Image Caption Generation,一个有意思的具体任务,深入...
    imGeek阅读 5,835评论 0 8
  • 基础篇NumPy的主要对象是同种元素的多维数组。这是一个所有的元素都是一种类型、通过一个正整数元组索引的元素表格(...
    oyan99阅读 10,545评论 0 18
  • 我正坐在拥挤的图书馆。 外面的风透过窗户的缝隙渗进尖细的风声。 雪后的寒气还未褪去。 我朦胧的忆起 多年以前也是这...
    沿海公路边上的阿简阅读 929评论 0 0