gpt4 book ai didi

python - Numpy 就地设置绝对值

转载 作者:太空狗 更新时间:2023-10-29 22:28:44 26 4
gpt4 key购买 nike

您有一个数组 A,您希望将其中的每个值都转换为绝对值。问题是

numpy.abs(A)

创建一个新矩阵,A 中的值保持原样。我找到两种方法将绝对值设置回 A

A *= numpy.sign(A)

A[:] = numpy.abs(A)

基于timeit测试,他们的表现相差无几 enter image description here

问题:

Are there more efficient ways to perform this task?

最佳答案

有一个 out 参数,它就地更新数组:

numpy.abs(A, out=A)

而且恰好是 很多 更快,因为您不必为新数组分配内存。

A = np.random.randn(1000, 1000)

%timeit np.abs(A)
100 loops, best of 3: 2.9 ms per loop

%timeit np.abs(A, out=A)
1000 loops, best of 3: 647 µs per loop

关于python - Numpy 就地设置绝对值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48451167/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com