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
  • asp之家 网络编程 m.aspxhome.com