РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
300 of 541 menu

Функция promote_types

Функция promote_types определяет результирующий тип данных при операциях между двумя разными типами. Она принимает два типа данных и возвращает тип, который может безопасно хранить значения обоих исходных типов. Это полезно при планировании операций с массивами разных типов.

Синтаксис

np.promote_types(type1, type2)

Пример

Давайте определим результирующий тип для целого числа и числа с плавающей точкой:

import numpy as np res = np.promote_types(np.int32, np.float32) print(res)

Результат выполнения кода:

float64

Пример

Рассмотрим продвижение между целочисленными типами разной разрядности:

import numpy as np res = np.promote_types(np.int8, np.int64) print(res)

Результат выполнения кода:

int64

Пример

Продвижение между беззнаковым целым и знаковым целым всегда даёт знаковый тип:

import numpy as np res = np.promote_types(np.uint16, np.int16) print(res)

Результат выполнения кода:

int32

Пример

Функция работает и со строковыми типами данных. Продвижение между строками разной длины даёт строку максимальной длины:

import numpy as np res = np.promote_types('S10', 'S20') print(res)

Результат выполнения кода:

S20

Пример

Продвижение между числовым и строковым типом даёт строковый тип:

import numpy as np res = np.promote_types(np.int32, 'U10') print(res)

Результат выполнения кода:

<U11

Строка <U11 означает Unicode-строку максимальной длины 11 символов. Длина выбрана с запасом для представления числового значения.

Пример

Функция promote_types часто используется для проверки типов перед сложными операциями с массивами:

import numpy as np arr1 = np.array([1, 2, 3], dtype=np.int8) arr2 = np.array([1.5, 2.5, 3.5], dtype=np.float32) res_type = np.promote_types(arr1.dtype, arr2.dtype) print(f"Result type: {res_type}") arr_res = arr1 + arr2 print(f"Actual type: {arr_res.dtype}")

Результат выполнения кода:

Result type: float64 Actual type: float64

Смотрите также

  • функцию can_cast,
    которая проверяет возможность безопасного приведения типов
  • функцию result_type,
    которая определяет результирующий тип для массива или списка входов
  • функцию common_type,
    которая возвращает общий тип для массива объектов
  • функцию min_scalar_type,
    которая определяет минимальный тип для скалярного значения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить