np.array
和 np.asarray
都可将结构数据转换为 ndarray
类型
但是主要区别就是当数据源是 ndarray
时:
np.array
占用新的内存,即转换后的变量与原始变量相互独立
但 np.asarray
不会占用新的内存,即转换后的变量与原始变量无关
| import numpy as np |
| |
| |
| 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]] |
| import numpy as np |
| |
| |
| 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.]] |