NumPy Тип данных: result_type () функция
функция numpy.result_types ()
Функция result_type () используется для получения типа, который получается в результате применения правил продвижения типа NumPy к аргументам.
Продвижение типов в NumPy работает аналогично правилам в таких языках, как C ++, с некоторыми небольшими отличиями. Когда используются как скаляры, так и массивы, тип массива имеет приоритет и учитывается фактическое значение скаляра.
Например, вычисление 3 * a, где a - это массив 32-разрядных чисел с плавающей запятой, должно интуитивно приводить к выводу 32-разрядных чисел с плавающей запятой. Если 3 является 32-разрядным целым числом, правила NumPy указывают, что он не может преобразовать без потерь в 32-разрядное число с плавающей запятой, поэтому тип результата должен быть 64-разрядным. Изучив значение константы «3», мы увидим, что она помещается в 8-разрядное целое число, которое можно без потерь привести к 32-разрядному числу с плавающей запятой.
Версия: 1.15.0
Синтаксис:
numpy.result_type (* arrays_and_dtypes)
Параметр:
название | Описание | Необходимые / Необязательный |
---|---|---|
arrays_and_dtypes | Операнды некоторой операции, тип результата которой необходим. | необходимые |
Возвращаемое значение:
out: dtype - тип результата.
Конкретный алгоритм используется следующим образом.
Категории определяются в первую очередь проверкой, какой из булевых, целых (int / uint) или с плавающей запятой (float / complex) максимальный вид всех массивов и скаляров.
Если существуют только скаляры или максимальная категория скаляров выше максимальной категории массивов, типы данных объединяются с promo_types для получения возвращаемого значения.
В противном случае min_scalar_type вызывается для каждого массива, и все результирующие типы данных объединяются с promo_types для получения возвращаемого значения.
Набор значений int не является подмножеством значений uint для типов с одинаковым количеством битов, что не отражается в min_scalar_type, но обрабатывается как особый случай в result_type.
Пример: функция numpy.result_type ()
>>> import numpy as np
>>> np.result_type(5, np.arange(57, dtype='i1'))
dtype('int8')
Пример: функция numpy.result_types ()
>>>import numpy as np
>>> np.result_type('i4', 'c8')
dtype('complex128')
>>> np.result_type(5.0, -2)
dtype('float64')
Python - NumPy Code Editor:
Предыдущая: min_scalar_type ()
Далее: common_type ()
Новый контент: Composer: менеджер зависимостей для PHP , R программирования