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

Функция ascontiguousarray

Функция ascontiguousarray преобразует входной массив в C-непрерывное представление памяти. В C-непрерывном массиве элементы располагаются в порядке строк (row-major), то есть последняя ось изменяется быстрее всего. Первым параметром функция принимает массивоподобный объект (array-like). Вторым параметром можно указать тип данных dtype для результирующего массива.

Синтаксис

np.ascontiguousarray(a, [dtype])

Пример

Создадим массив и проверим, является ли он C-непрерывным с помощью атрибута flags:

import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) print(arr.flags['C_CONTIGUOUS'])

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

True

Пример

Создадим массив с типом float64 и преобразуем его в C-непрерывный с типом int32:

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

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

[1 2 3] int32

Пример

Если исходный массив не является C-непрерывным из-за среза (view), функция создаст копию в C-порядке:

import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) slice_arr = arr[:, ::2] print(slice_arr.flags['C_CONTIGUOUS']) res = np.ascontiguousarray(slice_arr) print(res.flags['C_CONTIGUOUS'])

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

False True

Пример

Функция ascontiguousarray не копирует данные, если массив уже является C-непрерывным:

import numpy as np arr = np.array([1, 2, 3, 4, 5]) res = np.ascontiguousarray(arr) print(res is arr)

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

True

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

  • функцию asfortranarray,
    которая преобразует массив в Fortran-непрерывный порядок (column-major)
  • функцию asarray,
    которая преобразует входные данные в массив без лишнего копирования
  • функцию copy,
    которая создает явную копию массива с возможностью указания порядка
  • функцию require,
    которая возвращает массив с заданными требованиями к памяти и порядку
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить