используйте numpy split
для разделения массива на основе условия.условие определяется всякий раз, когда np.diff(np.isnan(arr))
== True
np.split(arr, np.where(np.diff(np.isnan(arr))== True)[0]+1)
[array([nan, nan, nan]),
array([1.600e-01, 1.000e+00, 1.600e-01, 9.999e-01, 1.000e-04, 1.600e-01,
1.010e-01]),
array([nan]),
array([0.16])]