NumPy - 副本和视图
-
简述
在执行函数时,其中一些返回输入数组的副本,而一些返回视图。当内容物理存储在另一个位置时,它被称为Copy. 另一方面,如果提供了相同内存内容的不同视图,我们称其为View. -
没有复制
简单的赋值不会复制数组对象。相反,它使用与原始数组相同的 id() 来访问它。这id()返回 Python 对象的通用标识符,类似于 C 中的指针。此外,任何一方的任何变化都会反映在另一方中。例如,一个人的形状变化也会改变另一个人的形状。例子
它将产生以下输出 - -
查看或浅拷贝
NumPy 有ndarray.view()方法是一个新的数组对象,它查看原始数组的相同数据。与之前的情况不同,新数组的维度变化不会改变原始数组的维度。例子
它将产生以下输出 -数组的切片创建一个视图。例子
它将产生以下输出 - -
深拷贝
这ndarray.copy()函数创建一个深层副本。它是数组及其数据的完整副本,不与原始数组共享。例子
它将产生以下输出 -