【发布时间】:2011-08-23 03:31:01
【问题描述】:
考虑以下numpy 代码:
A[start:end] = B[mask]
这里:
-
A和B是列数相同的二维数组; -
start和end是标量; -
mask是一维布尔数组; -
(end - start) == sum(mask)。
上述操作原则上可以使用O(1)临时存储进行,将B的元素直接复制到A中。
这是实际发生的情况,还是numpy 为B[mask] 构造了一个临时数组?如果是后者,有没有办法通过重写语句来避免这种情况?
【问题讨论】:
标签: python numpy memory-management large-data