numpy中的array和asarray有細微差别
如果原始資料是python内置的清單類型,比如list,則使用array和asarray是一樣的,都是新開辟了一個空間,比如:
data3 = [1,2,3]
test1 = np.array(data3)
test2 = np.asarray(data3)
print(data3)
print(test1)
print(test2)
輸出為:
而如果原始資料就是ndarray型的,那麼就有差別了,使用array會開辟一個新空間,而asarray則相當于C語言的指針一樣,不建立新的資料對象,而是與原始資料指向同一個值,下面舉個栗子
data4 = np.zeros((3,3))
test1 = np.array(data4)
test2 = np.asarray(data4)
# 注意改了data4的第3行
data4[2] = 1
print(data4)
print(test1)
print(test2)