Канонический способ тестирования на str dtype? - PullRequest
0 голосов
/ 23 апреля 2020

Каков рекомендуемый способ проверки str (U...) dtype? Я полагаю, я мог бы сделать dtype.char == "U", но это выглядит немного хаки sh.

Некоторые dtypes можно напрямую сравнить с их Python эквивалентом, например

np.dtype("f8") == float
# True

и str можно использовать для создания массива U..., например

 np.arange(4).astype(str)
 # array(['0', '1', '2', '3'], dtype='<U21')

Но

 np.arange(4).astype(str).dtype == str
 # False

: - (

1 Ответ

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

Я думаю np.issubdtype() должно быть то, что вы ищете:

>>> s = np.arange(4).astype(str)
>>> s
array(['0', '1', '2', '3'], 
      dtype='<U24')
>>> np.issubdtype(s.dtype, str)
True
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...