本文摘自php中文网,作者不言,侵删。
下面为大家分享一篇对numpy中array和asarray的区别详解,具有很好的参考价值,希望对大家有所帮助。一起过来看看吧array和asarray都可以将结构数据转化为ndarray,但是主要区别就是当数据源是ndarray时,array仍然会copy出一个副本,占用新的内存,但asarray不会。
举例说明:
1 2 3 4 5 6 7 8 9 10 | 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
|
输出:
1 2 3 4 5 6 7 8 9 10 | 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没有区别,都对元数据进行了复制。
1 2 3 4 5 6 7 8 9 10 | 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
|
输出:
1 2 3 4 5 6 7 8 9 10 11 12 | 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中布尔型数组的处理方法
基于numpy.random.randn()与rand()的区别详解
以上就是对numpy中array和asarray的区别的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
request模拟知乎登录实例代码
Python获取当前时间
在Python中复数怎么表示
[译]the Python tutorial#input and output
如何创建django程序
通读全文告诉你Python如何输出如期指定格式?
Python怎么随机产生一个范围内的数
Python二进制怎么转十进制?
Python字典的键可以是元组吗
Python中的列表与元组有什么区别?一文搞懂元组与列表的异同点
更多相关阅读请进入《Python》频道 >>
人民邮电出版社
python入门书籍,非常畅销,超高好评,python官方公认好书。
转载请注明出处:木庄网络博客 » 对numpy中array和asarray的区别