Numpy陣列的複製問題

2021-10-10 15:37:24 字數 1505 閱讀 6999

本作者最近開始初學python,用部落格記錄一些在學習過程中遇到的問題和大家進行分享,希望能夠越來越好。
在原來使用array的陣列切片工具能夠輕鬆的獲得乙個list的複製,但是在numpy中使用array[:]

是不能夠辦到這個事情,要想處理資料的時候能夠不更改原始的array object 則需要使用標準的類中內建的

copy()函式

import numpy as np

# case 1

new_array = np.array([1

,2,4

,5], ndmin=2)

# 兩個維度

print

(new_array)

new_array = np.arange(24)

new_array2 = new_array.reshape(3,

4,2)

# 三維 四行二列

new_array2[0]

[0][

0]=100

# warming reshape will change the original array

print

(new_array,

'\ndimension '

+str

(new_array.ndim)

, new_array.shape)

# case 2

new_array = np.arange(24)

change_array = new_array[:]

new_array2 = change_array.reshape(3,

4,2)

# 三維 四行二列

new_array2[0]

[0][

0]=100

# warming reshape will change the original array

# 使用尋常的陣列的切片也不行複製

print

(new_array,

'\ndimension '

+str

(new_array.ndim)

, new_array.shape)

# case 3

new_array = np.arange(24)

change_array = new_array.copy(

)# 要使用標準的複製函式

new_array2 = change_array.reshape(3,

4,2)

# 三維 四行二列

new_array2[0]

[0][

0]=100

print

(new_array2)

print

(new_array,

'\ndimension '

+str

(new_array.ndim)

, new_array.shape)

numpy的陣列維度問題

由於之前寫c 的時候大多用的是小於3維的陣列,所以看到python中numpy的高維array 陣列 層層疊疊的感覺把眼都看花了。現在讓我們睜大眼睛,仔細看看到底是怎麼回事。舉例說明 x1 np.array 1,2,3 4,5,6 x1.shape 2,3 x2 np.array 0 1 2 x2....

基於numpy中陣列元素的切片複製方法

程式設計客棧1 usr bin python import numpy as np arr1 np.arange 10 print arr1 slice datwww.cppcns.coma arr1 3 5 print slice data slicewww.cppcns.com data 0 1...

js arr的陣列引用問題,複製陣列

今天練習時,我使用arr陣列,現在想要把新建乙個陣列儲存arr的資料,然後改變arr的值,等以後需要原來資料時候,就可以用了。然後我突然意識到乙個問題 我能直接 var newarr arr 嗎?不能啊。原因看下面 var arr 1 2,3 4 var newarr arr console.log...