Spec-Zone.ru › NumPy 2.0

numpy.exceptions.DTypePromotionError

исключениеexceptions.DTypePromotionError[source]

Несколько типов данных не могут быть преобразованы в общий.

Это исключение происходит от TypeError и возникает всякий раз, когда типы данных не могут быть преобразованы в единственный общий. Это может произойти из-за их принадлежности к разным категориям/классам или из-за несовместимости экземпляров одного и того же типа (см. Примеры).

Примечания

Многие функции будут использовать повышение для определения правильного результата и реализации. Для этих функций ошибка обычно будет связана с более конкретной ошибкой, указывающей, что реализация для введённых типов данных не найдена.

Как правило, повышение должно рассматриваться как «недействительное» между типами данных двух массивов, когда arr1 == arr2 может безопасно вернуть все False, потому что типы данных фундаментально отличаются.

Примеры

Даты и комплексные числа — это несовместимые классы и не могут быть повышены:

>>> np.result_type(np.dtype("M8[s]"), np.complex128)
DTypePromotionError: The DType <class 'numpy.dtype[datetime64]'> could not
be promoted by <class 'numpy.dtype[complex128]'>. This means that no common
DType exists for the given inputs. For example they cannot be stored in a
single array unless the dtype is `object`. The full list of DTypes is:
(<class 'numpy.dtype[datetime64]'>, <class 'numpy.dtype[complex128]'>)

Например, для структурированных типов данных структура может не совпадать, и то же самое DTypePromotionError выдаётся, когда даются два структурированных типа данных с несовпадением в количестве полей:

>>> dtype1 = np.dtype([("field1", np.float64), ("field2", np.int64)])
>>> dtype2 = np.dtype([("field1", np.float64)])
>>> np.promote_types(dtype1, dtype2)
DTypePromotionError: field names `('field1', 'field2')` and `('field1',)`
mismatch.

© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.exceptions.DTypePromotionError.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API