Сравнение строк в Numpy - PullRequest
       26

Сравнение строк в Numpy

5 голосов
/ 23 марта 2010

В следующем примере

In [8]: import numpy as np

In [9]: strings = np.array(['hello    ', 'world    '], dtype='|S10')

In [10]: strings == 'hello'
Out[10]: array([False, False], dtype=bool)

Сравнение не удается из-за пробелов. Есть ли встроенная функция Numpy, которая эквивалентна

In [12]: np.array([x.strip()=='hello' for x in strings])
Out[12]: array([ True, False], dtype=bool)

что дает правильный результат?

1 Ответ

11 голосов
/ 23 марта 2010

Numpy предоставляет векторизованные строковые операции для массивов, похожих на строковые методы Python Они находятся в модуле numpy.char.

http://docs.scipy.org/doc/numpy/reference/routines.char.html

import numpy as np

strings = np.array(['hello    ', 'world    '], dtype='|S10')

print np.char.strip(strings) == 'hello'
# prints [ True False]

Надеюсь, это полезно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...