NP.Array экстракт между - PullRequest
       12

NP.Array экстракт между

1 голос
/ 22 апреля 2020

У меня есть массив Numpy, который выглядит следующим образом:

array(['xsf (Parse EE1)', 'xxdsf (Parse E1A)',
   'sef(Parse E1A)'], dtype='<U36')

Как мне сохранить текст между "Parse" и ")" и удалить все остальное, чтобы результаты выглядели следующим образом :

array(['EE1', 'E1A',E1A'], dtype='<U36')

Обратите внимание, что я работаю с довольно большим массивом, и моя главная цель - извлечь текст между "Parse" и ")".

Заранее спасибо :) Ed

1 Ответ

0 голосов
/ 22 апреля 2020

Если у вас фиксированный формат, вы можете использовать список пониманий с нарезкой

ary = np.array(['xsf (Parse EE1)', 'xxdsf (Parse E1A)',
   'sef(Parse E1A)'], dtype='<U36')

np.array([x[-4:-1] for x in ary])
array(['EE1', 'E1A', 'E1A'], dtype='<U3')

Или использовать str.find, чтобы получить индекс подстроки

np.array([x[x.find('Parse ') + len('Parse '):x.find(')')] for x in ary])
array(['EE1', 'E1A', 'E1A'], dtype='<U3')
...