Spec-Zone.ru › NumPy 1.16

numpy.find_common_type

numpy.find_common_type(array_types, scalar_types) [source]

Определение общего типа, следуя стандартным правилам приведения.

Параметры:
array_types : sequence

Список типов данных или объектов, преобразуемых в типы данных, представляющих массивы.

scalar_types : sequence

Список типов данных или объектов, преобразуемых в типы данных, представляющих скаляры.

Возвращает:
datatype : dtype

Общий тип данных, являющийся максимальным из array_types, игнорируя scalar_types, если максимальный из scalar_types имеет другой тип (dtype.kind). Если тип не распознан, то возвращается None.

См. также

dtype, common_type, can_cast, mintypecode

Примеры

>>> np.find_common_type([], [np.int64, np.float32, complex])
dtype('complex128')
>>> np.find_common_type([np.int64, np.float32], [])
dtype('float64')

Стандартные правила приведения гарантируют, что скаляр не может привести к расширению типа массива, если скаляр не имеет принципиально другого типа данных (то есть, если он находится в другом иерархическом уровне в иерархии типов данных) по сравнению с массивом:

>>> np.find_common_type([np.float32], [np.int64, np.float64])
dtype('float32')

Комплексное число имеет другой тип, поэтому оно приводит к расширению типа float в array_types аргументе:

>>> np.find_common_type([np.float32], [complex])
dtype('complex128')

Строковые спецификаторы типа преобразуются в типы данных и, следовательно, могут быть использованы вместо самих типов данных:

>>> np.find_common_type(['f4', 'f4', 'i4'], ['c8'])
dtype('complex128')

© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.16.1/reference/generated/numpy.find_common_type.html

Spec-Zone.ru

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