配列とasarrayのNumpyの違い



Numpy Difference Array



asarray配列および構造体データはndarrayに変換できますが、主な違いは、データソースがndarray時間の場合、arrayはコピーのコピーであり、新しいメモリを使用しますが、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: ',data1) print('arr2: ',arr2) print('arr3: ',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]] Visible array and asarray no difference, all metadata is duplicated.

だが、



import numpy as np #example 2: arr1=np.ones((3,3)) arr2=np.array(arr1) arr3=np.asarray(arr1) arr1[1]=2 print('arr1: ',arr1) print('arr2: ',arr2) print('arr3: ',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.]] Visible array and asarray no difference, all metadata is duplicated.