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

2022-10-04 18:48:13 字數 1053 閱讀 1605

**程式設計客棧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] = 123

print(slice_data)

print(ar

類似的**之前應用過,簡單看了一下numpy中的陣列切片。

程式的執行結果如下:

in [2]: %run exp01.py

[0 1 2 3 4 5 6 www.cppcns.com7 8 9]

[3 4]

[123 4]

[ 0 1 2 123 4 5 6 7 8 9]

由此得出來的結論是:切片後的變數與原始的資料共享同一資料儲存。而這種特點是專門針對大資料的處理而定製的。然而,在日常的使用中總有需要對資料進行拷貝的時候,此時需要的便是顯式的資料複製操作。

程式修改如下:

#!/usr/bin/python

import numpy as np

arr1 = np.arange(10)

print(arr1)

slice_data = arr1[3:5].copy()

print(slice_data)

slice_data[0] = 123

print(slice_data)

print(arr1)

程式的執行結果如下:

in [3]: %run exp01.py

[0 1 2 3 4 5 6 7 8 9]

[3 4]

[123 4]

[0 1 2 3 4 5 6 7 8 9]

由上面的結果可以看出,通過切片後複製操作生成的新的資料物件的操作與原始的資料是獨立的。新的資料物件的變化並不會影響到原始資料的資訊。

本文標題: 基於numpy中陣列元素的切片複製方法

本文位址:

numpy中的陣列切片

如同python中自帶的切片,numpy中也有類似的切片功能。接下來對兩個功能進行一下簡單的對比。首先測試python自帶的功能,在shell視窗中測試如下 in 1 data range 10 in 2 data out 2 0,1,2,3,4,5,6,7,8,9 in 3 data1 data ...

Python中numpy陣列切片

python中符合切片並且常用的有 列表,字串,元組。下面那列表來說明,其他的也是一樣的。格式 開頭 結束 步長 開頭 當步長 0時,不寫預設0。當步長 0時,不寫預設 1 結束 當步長 0時,不寫預設列表長度加一。當步長 0時,不寫預設負的列表長度減一 步長 預設1,0 是從左往右走,0是從右往左...

numpy陣列的切片

個人學習筆記!切片語法 x start stop step 一 一維陣列的切片 import numpy as np x np.arange 5,13 xout 4 array 5,6,7,8,9,10,11,12 x 3 前3個元素,即索引0 2所代表的元素 out 6 array 5,6,7 x...