基於numpy中數組元素的切片複製方法

今天小編就爲大家分享一篇基於numpy中數組元素的切片複製方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

代碼1:

#!/usr/bin/python


import numpy as np


arr1 = np.arange(10)
print(arr1)


slice_data = arr1[3:5]
print(slice_data)


slice_data[0] = 123


print(slice_data)
print(arr1)

類似的代碼之前應用過,簡單看了一下numpy中的數組切片。

程序的執行結果如下:

In [2]: %run exp01.py
[0 1 2 3 4 5 6 7 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中數組元素的切片複製方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持神馬文庫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章