以下為大家分享一篇對numpy中array和asarray的區別詳解,具有很好的參考價值,希望對大家有所幫助。一起過來看看吧
array和asarray都可以將結構資料轉化為ndarray,但是主要區別就是當資料來源是ndarray時,array仍然會copy出一個副本,佔用新的內存,但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:\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]]
可見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
#輸出:
#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的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!