numpy中的赋值中arr [:]是什么意思?

亚历克斯·阿里菲莫夫(Alex Alifimoff)

我偶尔会使用numpy,并且尝试使向量化操作变得更聪明。我正在阅读一些代码,并试图理解以下内容的语义:

arr_1[:] = arr_2

在这种情况下,

我了解在中arr[:, 0],我们正在选择数组的第一列,但是我对arr_1[:] = arr_2之间的区别感到困惑arr_1 = arr_2

hpaulj

您的问题涉及基本Python语法和numpy特定细节的混合。在很多方面,列表是相同的,但不完全相同。

arr[:, 0]返回arr(视图)的第一列arr[:,0]=10,将该列的值设置为10。

arr[:]返回arralist[:]返回列表的副本)。arr[:]=arr2执行就地更换;将的值更改arr为的值arr2的值arr2将根据需要广播和复制。

arr=arr2设置arr变量指向的对象现在arrarr2指向同一件事(无论是数组,列表还是其他东西)。

arr[...]=arr2 复制所有数据时也可以使用

在交互式会话中进行这些操作。尝试改变形状,arr2以了解如何传播价值。还要检查id(arr)以查看变量指向的对象。arr.__array_interface__查看数组的数据缓冲区。这样可以帮助您将视图与副本区分开。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章