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

Функция asfortranarray

Функция asfortranarray преобразует входной массив в массив с порядком хранения элементов в стиле Fortran (column-major). Первым параметром функция принимает массив или объект, который может быть преобразован в массив. Вторым параметром можно передать тип данных элементов. Функция возвращает новый массив или исходный, если он уже имеет порядок Fortran, без лишнего копирования.

Синтаксис

np.asfortranarray(a, [dtype])

Пример

Давайте создадим массив в формате C (row-major) и преобразуем его в формат Fortran (column-major):

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

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

[[1 2 3] [4 5 6]]

Пример

Давайте проверим флаг порядка хранения у исходного и преобразованного массивов с помощью атрибута flags:

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

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

True False False True

Пример

Давайте создадим массив из списка и преобразуем его в формат Fortran с указанием типа данных:

import numpy as np arr = np.asfortranarray([1, 2, 3, 4, 5], dtype=np.float32) print(arr) print(arr.dtype)

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

[1. 2. 3. 4. 5.] float32

Пример

Давайте покажем, что функция не создает копию, если массив уже имеет порядок Fortran:

import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]], order='F') fortran_arr = np.asfortranarray(arr) print(arr is fortran_arr)

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

True

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

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