Numpy структурированные массивы: строковый тип не понимается при указании dtype с помощью dict
Вот что произойдет, если я по-разному инициализирую массив с одинаковыми именами и типами полей:
>>> a = np.zeros(2, dtype=[('x','int64'),('y','a')])
>>> a
array([(0L, ''), (0L, '')],
dtype=[('x', '<i8'), ('y', 'S')])
Так что инициализация списком кортежей работает нормально.
>>> mdtype = dict(names=['x','y'],formats=['int64','a'])
>>> mdtype
{'names': ['x', 'y'], 'formats': ['int64', 'a']}
>>> a = np.zeros(2,dtype=mdtype)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: data type not understood
Так что инициализация с помощью dict не выполняется, и проблема заключается в строковом типе:
>>> mdtype = dict(names=['x','y'],formats=['int64','float64'])
>>> a = np.zeros(2,dtype=mdtype)
>>>
Там нет проблем. Есть идеи? Это ошибка Numpy?
Numpy версия: 1.8.0
Python 2.7.6 (по умолчанию, 10 ноября 2013 г., 19:24:24) [MSC v.1500 64 бит (AMD64)] на win32