在NumPy多维数组中,是否可以进行原地最小/最大赋值操作而不需要额外的复制?
假设a和b是两个二维NumPy数组,我想让所有的i和j都满足 a[i,j] = min(a[i,j], b[i,j])
。
有一种方法可以实现:
a = numpy.minimum(a, b)
根据文档,
numpy.minimum
创建并返回一个新的数组:
因此,在上面的代码中,它将创建一个新的临时数组(numpy.minimum(x1, x2[, out])
数组元素逐个比较取其最小值。
比较两个数组并返回包含逐个元素最小值的新数组。
a
和b
的最小值),然后将其分配给a
并处理掉,对吗?有没有办法像
a.min_with(b)
这样做,以便将最小结果就地分配回a
?
id(a)
会稍微改善答案。 - James Waldby - jwpat7a
指向另一个对象的。 - NPE