python numpy数组复制使用实例解析
作者:python大师 时间:2023-06-22 07:27:06
这篇文章主要介绍了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
来源:https://www.cnblogs.com/daniumiqi/p/12134083.html
标签:python,numpy,数组,复制
0
投稿
猜你喜欢
php生成与读取excel文件
2023-11-15 06:17:48
利用pyinstaller或virtualenv将python程序打包详解
2022-08-01 10:37:52
详解pyqt5的UI中嵌入matplotlib图形并实时刷新(挖坑和填坑)
2023-01-04 22:01:05
php实现二叉树中和为某一值的路径方法
2023-07-04 20:29:08
解决python pandas读取excel中多个不同sheet表格存在的问题
2022-03-12 06:59:33
在Python中使用SimpleParse模块进行解析的教程
2021-04-11 12:17:53
经验几则 推荐
2024-04-22 12:46:14
CentOS下安装Jenkins的完整步骤
2022-12-13 16:43:34
解决jupyter运行pyqt代码内核重启的问题
2022-01-29 21:28:40
CentOS中使用virtualenv搭建python3环境
2022-08-30 07:28:43
Python计算双重差分模型DID及其对应P值使用详解
2022-08-06 21:07:53
常见的在Python中实现单例模式的三种方法
2022-11-08 01:42:09
SQL 中 CASE 表达式的使用方式
2024-01-23 14:18:47
pytorch实现用CNN和LSTM对文本进行分类方式
2023-07-16 18:05:13
SqlServer 2005 T-SQL Query 学习笔记(1)
2024-01-25 17:01:56
python3 property装饰器实现原理与用法示例
2021-07-10 05:02:28
python变量赋值方法(可变与不可变)
2021-02-14 08:51:55
SQL2005 学习笔记 窗口函数(OVER)
2024-01-27 09:50:49
通过数据库引擎来加速的MySQL数据库
2012-01-29 18:07:09
YOLOv5在图片上显示统计出单一检测目标的个数实例代码
2023-07-20 18:08:42