Код: Выделить всё
x = np.array([["Hello", 0, 1], ["World", 1, 2]], dtype=np.object_)
Это то, что я называю «объединением» типов.< /p>
Ответ на вопрос Объединение в стиле c с numpy dtypes? относится к «объединенным типам данных», разрешенным в numpy после 1.7+.
Это соответствующий раздел в документации numpy. Документация по типам объединения относится к документации (base_dtype, new_dtype) в разделе о типах данных под названием «Определение и создание типов данных».
Код: Выделить всё
(base_dtype, new_dtype)В документации Эта форма также позволяет указывать типы структур с перекрывающимися полями, функционируя аналогично Тип 'union' в C. Однако такое использование не рекомендуется, и предпочтителен механизм объединения.
Что именно такое «профсоюзный механизм»? Поиск его в документации numpy не привел меня ни к чему, что четко выделялось бы в качестве упомянутого механизма. Что еще более важно, я не могу сделать что-то подобное в формате (base_dtype, new_dtype): (np.object_, (np.uint32, np.uint32)), потому что np.object_ не может использоваться как base_dtype.
Мое лучшее предположение на данный момент: документация для numpy утверждает, что мы можем разрешить перекрытие полей структурированного массива... что дало бы профсоюзное поведение? В конце концов, в документации по структурированным массивам указано (выделено мной):
Для этих целей они поддерживают специализированные функции, такие как подмассивы, вложенные типы данных, и объединения. и разрешить контроль над расположением структуры в памяти.
Документация достаточно смутила меня относительно того, какой механизм является предпочтительным для создания "тип объединения"...
Подробнее здесь: https://stackoverflow.com/questions/786 ... -define-it