2016-10-03 7 views
0

私は、コードを持っているとします計算のストア結果

a, b, c = np.empty((3,)), np.array([1, 2, 3]), np.array([4, 5, 6]) 
a = b + c 

私が望むどのような既存のアレイに格納されるB + Cの結果のためです。新しい配列を割り当てる必要はありません。これをnumpyで行うにはどうすればいいですか?

+0

私は 'ufunc'の' out'パラメータを最適化機能として扱います。優先順位はコードを有効かつ明確にしています。 'numpy'はメモリの割り当てと再利用でかなり良いです。 – hpaulj

答えて

2
np.add(b, c, out=a) 

numpyののufuncs(およびその他のいくつかのnumpyのルーチン)に出力を配置するoutパラメータを取る。

0

あなたのメモリは、重要な、あなたは3つのアレイ(と周りにローミングしたくないということであればa、bおよびc)、あなたが行うことができます:

bは今、あなたは、配列 aでいた結果を運んでいる
b, c = np.array([1, 2, 3]), np.array([4, 5, 6]) 
b += c # does in-place operation, similarly to np.add(b, c, out=b) 

を。

関連する問題