Расщепление массива на основе типа данных? - PullRequest
0 голосов
/ 11 октября 2018

У меня есть следующий массив:

arr = [ nan nan nan 1.600e-01 1.000e+00 1.600e-01 9.999e-01 1.000e-04 1.600e-01 1.010e-01 nan 1.600e-01]

Как мне получить следующие списки?

listA = [nan nan nan] #values in position 0, 1, 2
listB = [1.600e-01 1.000e+00 1.600e-01 9.999e-01 1.000e-04 1.600e-01 1.010e-01] #values in position 3 to 9
listC = [nan] #the values in position 10
listD = [1.600e-01] # the values in position 11

Спасибо

1 Ответ

0 голосов
/ 11 октября 2018

используйте 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])]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...