对numpy中array和asarray的区别


本文摘自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》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...