Функция result_type
Функция result_type определяет минимальный
тип данных, необходимый для хранения результата
операции, применённой к переданным аргументам.
Она анализирует входные объекты и возвращает
подходящий тип данных из иерархии NumPy.
Синтаксис
np.result_type(*arrays_and_dtypes)
Функция принимает произвольное количество аргументов, каждый из которых может быть массивом, скалярным значением или объектом типа данных (dtype). Результатом является объект типа данных NumPy.
Пример
Определим результирующий тип для смешанных целочисленных типов:
import numpy as np
arr1 = np.array([1, 2, 3], dtype=np.int8)
arr2 = np.array([4, 5, 6], dtype=np.int16)
res = np.result_type(arr1, arr2)
print(res)
Результат выполнения кода:
int16
Как видим, функция выбрала тип int16,
так как он является общим для обоих массивов.
Пример
Определим результирующий тип при смешении целых и вещественных чисел:
import numpy as np
res = np.result_type(3, 2.5, np.float32)
print(res)
Результат выполнения кода:
float64
В этом случае выбран тип float64,
потому что он способен представить все
входящие значения без потери точности.
Пример
Использование со скалярными значениями и явным указанием типа данных:
import numpy as np
res = np.result_type(np.int32, 100, np.float16)
print(res)
Результат выполнения кода:
float32
Функция выбрала float32 как минимальный
тип, который может представить все значения.
Пример
Определим результирующий тип для массива с комплексными числами:
import numpy as np
arr = np.array([1+2j, 3+4j], dtype=np.complex64)
res = np.result_type(arr, 5)
print(res)
Результат выполнения кода:
complex128
Результат приведён к комплексному типу, так как комплексные числа имеют более высокий приоритет в иерархии типов NumPy.
Смотрите также
-
функцию
promote_types,
которая определяет тип результата для двух типов данных -
функцию
can_cast,
которая проверяет возможность безопасного приведения типов -
функцию
common_type,
которая находит общий тип для массивов -
функцию
min_scalar_type,
которая находит минимальный тип для скалярного значения