Numpy-复制与视图
来源:互联网 发布:剑三捏脸数据百度云 编辑:程序博客网 时间:2024/06/07 00:08
在执行函数时,其中一些返回输入数组的副本,而另一些返回视图。 当内容物理存储在另一个位置时,称为副本。 另一方面,如果提供了相同内存内容的不同视图,我们将其称为视图。
无复制
为了获得高性能,Python 中的赋值常常不拷贝底层对象,这被称作浅拷贝。它使用原始数组的相同id()
来访问它。 id()
返回 Python 对象的通用标识符,类似于 C 中的指针。
此外,一个数组的任何变化
都反映在另一个数组上。 例如,一个数组的形状改变
也会改变另一个数组的形状。
示例
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
输出如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
视图或浅复制
NumPy 拥有ndarray.view()
方法,它是一个新的数组对象,并可查看原始数组的相同数据。 与前一种情况不同,新数组的维数更改不会更改原始数据的维数。
示例
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
输出如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
数组的切片也会创建视图:
示例
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
输出如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
深复制
ndarray.copy()
函数创建一个深层副本。 它是数组及其数据的完整副本,不与原始数组共享。
示例
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
输出如下:
阅读全文
0 0
- NumPy 复制与视图
- Numpy-复制与视图
- NumPy 复制和视图
- numpy 攻略 2.5 视图与副本
- 高级复制与物化视图的选型
- Numpy-复制操作
- numpy小记,复制array
- NumPy(4)数组数学与基础操作与复制、排序
- 使用numpy复制拓展数据
- numpy.ravel() 与numpy.flatten()
- 复制数据表以及视图
- NumPy之三:拷贝和视图
- numpy中数组元素的切片复制
- numpy.flatten() 与 numpy.ravel()的区别
- numpy 数组与类型
- NumPy与ndarray简介
- python numpy与matplotlib
- Numpy与Pandas排序
- 3.2 队列
- HDU5972 Regular Number (ShiftAnd算法+bitset)
- javascript中+号的运用
- HDU-4586 Play the Dice(概率期望)
- PTA 7-1 表达式转换——表达式树
- Numpy-复制与视图
- ZOJ 2760 How Many Shortest Path 最短路+最大流
- CSDN 搜索自己博客文章
- Bootstrap学习
- 文摘:跑了1135 家制造企业,我终于明白它们是怎么把自己玩死的了
- Leetcode:Median of Two Sorted Arrays
- hdu2577(基础dp)
- JavaScript DOM操作
- Java程序---学生管理系统的登录和注册