numpy中的赋值中arr [:]是什么意思?
我偶尔会使用numpy
,并且尝试使向量化操作变得更聪明。我正在阅读一些代码,并试图理解以下内容的语义:
arr_1[:] = arr_2
在这种情况下,
我了解在中arr[:, 0]
,我们正在选择数组的第一列,但是我对arr_1[:] = arr_2
和之间的区别感到困惑arr_1 = arr_2
回答:
您的问题涉及基本Python语法和numpy
特定细节的混合。在很多方面,列表是相同的,但不完全相同。
arr[:, 0]
返回arr
(视图)的第一列arr[:,0]=10
,将该列的值设置为10。
arr[:]
返回arr
(alist[:]
返回列表的副本)。
arr[:]=arr2
执行就地更换;将的值更改arr
为的值arr2
。的值arr2
将根据需要广播和复制。
arr=arr2
设置arr
变量指向的对象。现在arr
,arr2
指向同一件事(无论是数组,列表还是其他东西)。
arr[...]=arr2
复制所有数据时也可以使用
在交互式会话中进行这些操作。尝试改变形状,arr2
以了解如何传播价值。还要检查id(arr)
以查看变量指向的对象。并arr.__array_interface__
查看数组的数据缓冲区。这样可以帮助您将视图与副本区分开。
以上是 numpy中的赋值中arr [:]是什么意思? 的全部内容, 来源链接: utcz.com/qa/398673.html