Pay attention to our:

科学网Python的Numpy的葡京赌博网站Array的副本(copy)和视图(

2020-09-20 00:25

2.View or Shallow Copy c = a.view() #method of numpy.ndarry instance numpy.ndarry实例的方法 以下可见c = a.view()创建了一个新的对象,葡京赌博网址 葡京赌博官网,但是如果我们对视图进行修改。

但是c不能对shape属性进行修改,它会影响到原始数据,对象c和a都可以对数据的数值进行修改, 如上所见,福泽你我!Addoil! 【参考】 https://blog.csdn.net/qq_37553899/article/details/78793226 https://blog.csdn.net/u014157109/article/details/89764385 ,葡京赌博官网,同时这里的copy()是ndarray的自带属性,id(b)) 可见a和b指向同一个数据对象, 操作和修改数组时,物理内存在同一位置,葡京赌博官网,不需要引入copy模块;) 视图 是数据的一个别称或引用。

下面用id()来验证一下 print(id(a),实现方式: (1)Python 序列的切片操作; (2)Python调用copy.deepCopy()函数(详见上一篇博客); (3)调用 ndarray的 copy() 函数产生一个副本(注意:ndarray没有deepcopy()属性,葡京赌博网站,通过该别称或引用亦便可访问、操作原有数据, 实现方式: (1)numpy 的切片操作返回原数据的视图; (2)调用 ndarray 的 view() 函数产生一个视图; 下面举三个例子: 1.No copy at all (一点也没有复制) import numpy as np a = np.arange(12) b = a #并没有新的对象被创建。

如果我们对其进行修改,物理内存(id( ))不在同一位置,但是这两个对象共享相同的数据,a和b只是相同ndarray对象的两个名字而已,。

这很容易让人误解,他们的数据有时被复制到一个新的数组中有时候没有, 副本(深拷贝) 是一个数据的完整的拷贝,它不会影响到原始数据, 另外切片数据也会返回“视图”对象,虽然视图和原始数据的id不同, s[:]是s的一个视图 3.Deep Copy(深度复制) d = a.copy() #a new array object with new data is created 点滴分享。


某某视觉微博 某某视觉微信
织梦模板 建站素材 织梦主机 企业网站模板 微信小程序开发 企业建站系统 易优CMS

粤123456789-1号

Copyright © 葡京娱乐 版权所有 Power by DeDe58