基于numpy中数组元素的切片复制方法

yipeiwu_com6年前Python基础

代码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中数组元素的切片复制方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

matplotlib savefig 保存图片大小的实例

在用matplotlib画图时,如果图例比较大,画在图中就会挡着线条,这时可以用以下语句把图例画到图外面: plt.legend(bbox_to_anchor=(1.01, 1),...

python skimage 连通性区域检测方法

涉及到的函数为 import matplotlib.pyplot as plt from skimage import measure, color labels = measure...

Django框架安装方法图文详解

Django框架安装方法图文详解

本文实例讲述了Django框架安装方法。分享给大家供大家参考,具体如下: Window 下安装 Django 如果你还未安装Python环境需要先下载Python安装包。 1、Pytho...

python调用摄像头显示图像的实例

如下所示: import cv2 import numpy as np bins = np.arange(256).reshape(256,1) def hist_curve(i...

通过python改变图片特定区域的颜色详解

通过python改变图片特定区域的颜色详解

首先让我祭出一张数学王子高斯的照片,这位印在德国马克上的神人有多牛呢? 他是近代数学的奠基人之一,与牛顿, 阿基米德并称顶级三大数学家,随便找一个编程语言的数学库,里面一定有和他...