Numpy:检查数组的字符串数据类型

Nic*_*mer 17 python arrays string

如何确定Numpy数组是否包含字符串?数组a

a = np.array('hi world')
Run Code Online (Sandbox Code Playgroud)

具有数据类型dtype('|S8'),其中8是指字符串中的字符数.

我不知道正则表达式(例如re.match('\|S\d+', a.dtype))在这里是如何工作的,因为数据类型不是简单的'|S8'.

干杯,尼科

Fre*_*Foo 18

a.dtype.char == 'S'
Run Code Online (Sandbox Code Playgroud)

要么

a.dtype.type is np.string_
Run Code Online (Sandbox Code Playgroud)

请参阅NumPy文档,数据类型对象,属性.

  • 对于Python 2.x _and_ 3.x,您可以在{'U','S'}中测试`a.dtype.kind`以捕获字符串和unicode. (4认同)
  • 我注意到还有一个.dtype.kind =='S'.甜! (3认同)
  • 请注意:似乎这需要在 Python 3.x 中是 `a.dtype.type is np.str_` (2认同)