python numpy数组复制使用实例解析


Posted in Python onJanuary 10, 2020

这篇文章主要介绍了python numpy数组复制使用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

在使用python时我们经常会处理数组,有的时候是复制有的时候不是,这里也是初学者最容易误解的地方,简单讲,可以分为下面三种情况:

不是复制的情况(No Copy at All)

import numpy as np
a = np.arange(12) #a为一个序列
b = a #没有创建新的对象
print('a的shape为:', a.shape) # 输出a的尺寸
print('b是a吗?', b is a) #ab 为同一个对象的两个名字
b.shape = 3, 4 #将b的shape改变
print('a的shape变为:', a.shape) #a的shanpe也跟着改变了

输出结果

a的shape为: (12,)
b是a吗? True
a的shape变为: (3, 4)

查看或浅复制(View or Shallow Copy)

不同的数组对象可以分型相同的数据,view方法创建一个与原来数组相同的新对象

a = np.arange(12)
c = a.view() # 建立一个和a一样的c
print('c未改变时a的shape为:', a.shape) # 输出a的尺寸
print('c是a吗?', c is a)
print('c 是以a为基础建立的吗', c.base is a)
c.shape = 3, 4
print('c改变后a的shape为:', a.shape)

输出结果:

c是a吗? False
c 是以a为基础建立的吗 True
a的shape为: (12,)
a的shape为: (12,)

深复制(Deep Copy)

这个时候d是a的复制,只是单纯的复制,两者没有一点关系

a = np.arange(12)
d = a.copy() # 建立一个和a一样的c
print('d是a吗?', d is a)
print('d是以a为基础建立的吗', d.base is a)

输出结果:

d是a吗? False
d是以a为基础建立的吗 False

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python连接池实现示例程序
Nov 26 Python
python使用循环实现批量创建文件夹示例
Mar 25 Python
Python警察与小偷的实现之一客户端与服务端通信实例
Oct 09 Python
Python构造函数及解构函数介绍
Feb 26 Python
简单理解Python中基于生成器的状态机
Apr 13 Python
在IIS服务器上以CGI方式运行Python脚本的教程
Apr 25 Python
使用Python编写简单的端口扫描器的实例分享
Dec 18 Python
Python基于贪心算法解决背包问题示例
Nov 27 Python
python中dict()的高级用法实现
Nov 13 Python
python 实现单通道转3通道
Dec 03 Python
如何理解python面向对象编程
Jun 01 Python
Python异常类型以及处理方法汇总
Jun 05 Python
关于Pytorch的MNIST数据集的预处理详解
Jan 10 #Python
详解pycharm连接不上mysql数据库的解决办法
Jan 10 #Python
pycharm双击无响应(打不开问题解决办法)
Jan 10 #Python
python ubplot使用方法解析
Jan 10 #Python
Pytorch使用MNIST数据集实现基础GAN和DCGAN详解
Jan 10 #Python
Pytorch使用MNIST数据集实现CGAN和生成指定的数字方式
Jan 10 #Python
pytorch实现mnist分类的示例讲解
Jan 10 #Python
You might like
深入php常用函数的使用汇总
2013/06/08 PHP
单台服务器的PHP进程之间实现共享内存的方法
2014/06/13 PHP
PHP编写daemon process详解及实例代码
2016/09/30 PHP
PHP读取大文件的几种方法介绍
2016/10/27 PHP
关于PHP中字符串与多进制转换函数的实例代码
2016/11/03 PHP
PHP写的简单数字验证码实例
2017/05/23 PHP
PHP设计模式(一)工厂模式Factory实例详解【创建型】
2020/05/02 PHP
TNC vs BOOM BO3 第三场2.13
2021/03/10 DOTA
RGB颜色值转HTML十六进制(HEX)代码的JS函数
2009/04/25 Javascript
jquery 防止表单重复提交代码
2010/01/21 Javascript
JavaScript高级程序设计 错误处理与调试学习笔记
2011/09/10 Javascript
seajs1.3.0源码解析之module依赖有序加载
2012/11/07 Javascript
JavaScript版TAB选项卡效果实例
2013/08/16 Javascript
parentElement,srcElement的使用小结
2014/01/13 Javascript
node.js中的fs.symlinkSync方法使用说明
2014/12/15 Javascript
Javascript中的Callback方法浅析
2015/03/15 Javascript
详解JavaScript中的事件流和事件处理程序
2016/05/20 Javascript
jQuery select自动选中功能实现方法分析
2016/11/28 Javascript
Vue Cli3 创建项目的方法步骤
2018/10/15 Javascript
vue数据初始化initState的实例详解
2019/04/11 Javascript
解决一个微信号同时支持多个环境网页授权问题
2019/08/07 Javascript
详解Vue 单文件组件的三种写法
2020/02/19 Javascript
JS Html转义和反转义(html编码和解码)的实现与使用方法总结
2020/03/10 Javascript
js canvas实现五子棋小游戏
2021/01/22 Javascript
Python中的异常处理学习笔记
2015/01/28 Python
Python异常学习笔记
2015/02/03 Python
Python实现计算最小编辑距离
2016/03/17 Python
python3写爬取B站视频弹幕功能
2017/12/22 Python
python监测当前联网状态并连接的实例
2018/12/18 Python
python多进程并行代码实例
2019/09/30 Python
Python绘制词云图之可视化神器pyecharts的方法
2021/02/23 Python
英国家电直销:Appliances Direct
2016/09/22 全球购物
英国领先的维生素和补充剂品牌:Higher Nature
2019/08/26 全球购物
《火烧云》教学反思
2014/04/12 职场文书
2014年综治宣传月活动总结
2014/04/28 职场文书
领导干部民主生活会自我剖析材料范文
2014/09/20 职场文书