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

Непрерывный массив в NumPy

Непрерывный массив в порядке C занимает в памяти сплошной отрезок без пропусков между строками. Это удобно для быстрых операций по всем элементам.

Таблица, созданная из строк, обычно непрерывна в порядке C. После транспонирования картина часто меняется:

import numpy as np table = np.array([[1, 2, 3], [4, 5, 6]]) flipped = table.T print(flipped.flags['C_CONTIGUOUS']) # выведет False

Если нужен непрерывный массив в порядке C, помогает ascontiguousarray. Она строит копию с нужным расположением байтов, когда исходник разбит по шагам:

import numpy as np table = np.array([[1, 2, 3], [4, 5, 6]]) flipped = table.T chunk = np.ascontiguousarray(flipped) print(chunk.flags['C_CONTIGUOUS']) # выведет True

Создайте таблицу [[10, 20], [30, 40]], транспонируйте её и выведите, непрерывен ли результат в порядке C.

Создайте таблицу [[0, 1], [2, 3]], транспонируйте её, получите непрерывную копию в порядке C и выведите признак непрерывности у копии.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить