I will try to use a simple example that I am after.
aGrid = Np.arange (1,9) bGrid = np.arange (101, 109, 0.5) a, b = np. Mesegrid (Agrid, BGRID, Indexing = 'IJ') N.P.Ramand.Sed (66) Valid = NP .random.choice ([True, False], Ashp)
The form of matrix I think about the valid
which determines whether you "grid point (a, b)
or not. If you do not have permission to stay there, then you b
will have to proceed further: you need to move to the left (with
I try to create this transition
matrix Staying: For each item in this valid
matrix, this "travel distance" determines that you need to reach the next true
item. In the example, I have set the travel distance continuously with 0.5
B
amplitude. If you have already created a < Code> true , your distance is 0
.
For the given seed it is valid array ([[[wrong, true, true, true, true, true, false, true, true, true, wrong, false, True, false, true], [true is true, true, true, false, true, false, true, true, true, true, true, false, true, false] [ True, false, false, false, true, true, true, false, false, true, false] true, true, false, false, true, false, false, false, true, False, false, false, true, false, false, true, false] true, true, true, true, true, true, false, true, False, false, false, false, false, false, true, false, false, true, true, false, true, false, true, false, false, false, false, true, false, false, True, false, true, false, true, true, false, false, true, false, true, false, true], [false, true, false, false, true, false, true, false, true, false, false , False, true, false, false]],
some expected output
for the very first element, we can find the value of true
In the left part Can not take more - default should be np.NaN
. For the next 5 elements with the first line, the distance is 0
: they are already in valid places infection [0, 6] = 0.5
: it is left to an element left Need to move on.
Then, the first two rows
array ([[NN, 0, 0, 0, 0, 0, 0.5, 0, 0, 0, 0, 0.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.5, 0, 0.5],
I was trying to use a combination of np.argmax
and the np.argmax
is the "largest element which is true
, But smaller than x
, for each x
, while every element is x
in valid
. < Strong> it is highly inefficient. What would be a better way to reach it?
Perhaps this is one of the vector Apart from this, besides, I can not rely on the homogeneity of 0.5
as given in this example. The approach requires calculating the distance between the current cell and Next legal entity by using
(or b
).