18
python numexpr將數值分配給您正在操作的同一個數組以避免創建臨時數組是否安全?numexpr.evaluate(「a + b」,out = a)
從project homepage上的內存使用描述看起來沒問題,但沒有潛入源代碼,這是一個很難回答的問題。
我想它的工作原理以下罰款,但我希望從別人更熟悉這個包確認:
import numpy as np
import numexpr as ne
a = np.ones(5)
b = a.copy()
ne.evaluate("a+b",out=a)
array([ 2., 2., 2., 2., 2.])
我不能想到一個它不會安全的情況(很多索引技巧可能會導致問題在數據庫中不起作用)。在附註中,對於像例子這樣的簡單情況,注意:'np.add(a,b,out = a)'也是有用的。 'numexpr'非常好,但如果不需要其他依賴項,就可以避免沒有它的臨時數組。 – 2013-03-15 00:19:08