在使用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方法创建一个与原来数组相同的新对象

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
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 numpy中的数组复制相关推荐

  1. Python中用pandas将numpy中的数组数据保存到csv文件

    Python中用pandas将numpy中的数组数据保存到csv文件 本博客转载自:[1]https://blog.csdn.net/grey_csdn/article/details/7018587 ...

  2. python 数列筛选_对numpy中的数组条件筛选功能详解

    在程序设计中,时常会遇到数据的唯一化.相同.相异信息的提取等工作,在格式化的向量存储矩阵中南,numpy能够提供比较不错的快速处理功能. 1,唯一化的实现: In [63]: data = np.ar ...

  3. python数组排序-python - 按列在NumPy中对数组进行排序

    python - 按列在NumPy中对数组进行排序 如何在第n列中对NumPy中的数组进行排序? 例如, a = array([[9, 2, 3], [4, 5, 6], [7, 0, 5]]) 我想 ...

  4. Python Numpy多维数组.sum(axis=0/1/2...) 详解

    Python Numpy多维数组.sum(axis=0/1/2-) 详解 numpy中axis取值的说明 首先对numpy中axis取值进行说明:一维数组时axis=0,二维数组时axis=0,1,维 ...

  5. python Numpy 中的矩阵向量乘法(np.multiply()、np.dot()、np.matmul() 和 星号(*)、@)

    python Numpy 中的矩阵向量乘法 总结 1. 对于 np.array 对象 1.1 元素乘法 用 a*b 或 np.multiply(a,b) 1.2 矩阵乘法 用 np.dot(a,b) ...

  6. PIL中的Image和numpy中的数组array相互转换

    PIL中的Image和numpy中的数组array相互转换 array转换成image 1 Image.fromarray(np.uint8(img)) https://www.cnblogs.com ...

  7. python求向量函数的雅可比矩阵_在python Numpy中求向量和矩阵的范数实例

    np.linalg.norm(求范数):linalg=linear(线性)+algebra(代数),norm则表示范数. 函数参数 x_norm=np.linalg.norm(x, ord=None, ...

  8. python二维元素向量_详解python Numpy中求向量和矩阵的范数

    在python Numpy中求向量和矩阵的范数实例 np.linalg.norm(求范数):linalg=linear(线性)+algebra(代数),norm则表示范数. 函数参数 x_norm=n ...

  9. python3 nonzero_浅谈python numpy中nonzero()的用法

    nonzero函数返回非零元素的目录. 返回值为元组, 两个值分别为两个维度, 包含了相应维度上非零元素的目录值. import numpy as np A = np.mat([[0,1,2,3,4, ...

最新文章

  1. 弧度转为角分秒的c语言程序_用弧度表示角度
  2. (视频+图文)机器学习入门系列-第9章 集成学习
  3. oracle values函数,Oracle文本函数简介
  4. suse leap_Ruby程序检查leap年
  5. jQuery Mobile中jQuery.mobile.changePage方法使用详解
  6. Microsoft Visual C++ 9.0 is required Unable to find vcvarsall.bat 解决办法
  7. linux aaa认证服务器,华为设备安全之AAA认证
  8. 花一样的数据可视化分析工具汇总,你选谁
  9. 【MySql】mysql之用户管理
  10. 实现省市县的两种方式
  11. 数据可视化大屏的应用与落地实践
  12. 写出语句的四元式序列
  13. 6款最好的免费在线二维码生成器
  14. 19级爪哇程序设计新手赛(题解)
  15. 【数学】丑数II 和 超级丑数
  16. win7 64位安装数据库mysql及mysql下载地址亲测可用20181208
  17. python爬取知乎回答并进行舆情分析:爬取数据部分
  18. ubuntu 14.04 sunpinyin解决yue, jue, jiong等拼音输入问题
  19. activiti工作流Comment中文乱码的问题
  20. Maven-将jar包发布到本地maven仓库与私服

热门文章

  1. 一个苦逼测试员的七夕感想
  2. iinflux数据库使用
  3. hdu 4348 To the moon (主席树)
  4. [EF]vs15+ef6+mysql这个问题,你遇到过么?
  5. linux的 su 错误 Permission denied 和 Incorrect pa...
  6. PHP中调用Java类的两个办法
  7. 开篇语 2008.8.11
  8. SAP日志log:SLG0,SLG1
  9. 释疑の作业分割的理解
  10. 永洪Desktop全能力永久免费 国产数据分析工具迈向新阶段