2
我有一個numpy浮點數組,我希望重新計算使用取決於重新計算的列的公式的新值。使用putmask和保存順序替換數組中的列值
我最初嘗試循環遍歷列,屏蔽除重新計算的列之外的數組,並用numpy.putmask替換新值,但這並不保留順序,因爲它試圖放置中的每個元素和失敗,與下一個元件上的下一個計算值嘗試的值,點菜:
>>> import numpy as np
>>> x = [[ 1., 2.],
[ 3., 4.],
[ 5., 6.],
[ 7., 8.],
[ 9., 10.]]
>>> mask = [[ True, False],
[ True, False],
[ True, False],
[ True, False],
[ True, False]]
>>> y = [ 21., 22., 23., 24., 25.]
>>> np.putmask(x,mask,y)
>>> print x
[[ 21. 2.]
[ 23. 4.]
[ 25. 6.]
[ 22. 8.]
[ 24. 10.]]
我需要一種解決方案,將具有相同值的重試,直到它找到一個真值,使得x看起來像:
[[ 21. 2.]
[ 22. 4.]
[ 23. 6.]
[ 24. 8.]
[ 25. 10.]]
任何解決方案或其他方法。謝謝。
作品正是我想要。非常感謝,並且對於在numpy文獻中使用這種(可能)容易找到的解決方案提出問題表示歉意。 – Jdog 2011-05-27 10:22:47