# Get first no nan occurences of two arrays taking in account index position

I have two arrays, arr1 and arr2, same length contain random NaNs and numbers.

```arr1 = np.array((1.3, -1.2, -0.2, 1.6, np.nan, np.nan, np.nan))
arr2 = np.array((-0.6, np.nan, 2.3, np.nan, -2.4, np.nan, 1.2))
```

I need to obtain a third array where:

1. the lenght is the same of the others.
2. firstvalue (1.3): is the first not nan value of the first array.
3. secondvalue (2.3): is the first no nan value of the second array at index higher of the firstvalue(1.3).
4. thirdvalue (1.6): is the second no nan value of the first array at index higher of the secondvalue(2.3).
5. repeat steps 3 and 4 till to the end of the array.

Below what should be the third array result:

```result = np.array((1.3, np.nan, 2.3, 1.6, -2.4, np.nan, np.nan))
```

I think a for loop is not too bad (and seemingly unavoidable) in this case:

```arrs = [arr1, arr2]

out = [0.0] * len(arr1)

# indicate which array we are working on
curr_arr = 0

for i in range(len(arr1)):
# copy the current head element to `out`
out[i] = arrs[curr_arr][i]

# if the current element is not nan
# switch the active array
if not np.isnan(out[i]):
curr_arr = 1 - curr_arr
```

Output:

```[1.3, nan, 2.3, 1.6, -2.4, nan, nan]
```