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