Numpy中的字符串比较

时间:2010-03-23 15:50:20

标签: python numpy

在以下示例中

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 个答案:

答案 0 :(得分:11)

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]

希望这有用。