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

Функция require

Функция require проверяет, соответствует ли входной массив заданным требованиям к типу данных, порядку байтов и расположению в памяти. Если массив не соответствует указанным условиям, функция создает его копию с необходимыми характеристиками.

Первый параметр arr принимает массив для проверки. Второй параметр dtype задает требуемый тип данных. Третий параметр requirements определяет список требований к расположению массива в памяти.

Синтаксис

np.require(arr, dtype=None, requirements=None)

Пример

Давайте проверим, соответствует ли массив типу данных int32, и при необходимости преобразуем его:

import numpy as np arr = np.array([1.5, 2.7, 3.2]) res = np.require(arr, dtype=np.int32) print(res) print(res.dtype)

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

[1 2 3] int32

Пример

Используем требование 'C' для получения массива с расположением в памяти в стиле C (порядок по строкам):

import numpy as np arr = np.array([[1, 2], [3, 4]], order='F') res = np.require(arr, requirements=['C']) print(res.flags.c_contiguous)

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

True

Пример

Передадим одновременно требования по типу данных и расположению в памяти:

import numpy as np arr = np.array([[1.1, 2.2], [3.3, 4.4]], order='F') res = np.require( arr, dtype=np.float32, requirements=['C', 'W'] ) print(res.dtype) print(res.flags.c_contiguous) print(res.flags.writeable)

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

float32 True True

Пример

Если массив уже удовлетворяет требованиям, функция вернет исходный массив без копирования:

import numpy as np arr = np.array([1, 2, 3, 4, 5]) res = np.require(arr, dtype=np.int64, requirements=['C']) print(res is arr) print(arr.base is None)

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

True True

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

  • функцию asarray,
    которая преобразует входные данные в массив
  • функцию ascontiguousarray,
    которая возвращает непрерывный массив в стиле C
  • функцию asfortranarray,
    которая возвращает непрерывный массив в стиле Fortran
  • функцию copy,
    которая создает копию массива с указанным порядком следования элементов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить