Как заставить numpy упорядочить массив для стиля fortran?

Я использую довольно много библиотек fortran для выполнения математических вычислений. Таким образом, все массивы в numpy должны быть Fortran-смежными .
В настоящее время я выполняю это с помощью numpy.asfortranarray () .

Мои вопросы:

  1. Является ли это быстрым способом сообщить numpy, что массив должен храниться в fortran-стиле или есть более быстрый?
  2. Есть ли возможность установить некоторый флаг numpy, чтобы каждый созданный массив находился в стиле fortran?

2 Solutions collect form web for “Как заставить numpy упорядочить массив для стиля fortran?”

Используйте необязательный параметр порядка = 'F' (по умолчанию 'C'), при создании объектов numpy.array. Так я это делаю, возможно, делает то же самое, что и вы. Что касается номера 2, я не знаю, как установить порядок по умолчанию, но достаточно просто включить произвольный аргумент заказа при создании массивов.

Что касается вопроса 2: вы можете быть обеспокоены сохранением порядка Fortran после выполнения преобразований и операций массива. У меня была аналогичная проблема с контентом. Я загрузил массивный массив из файла, но когда я применил преобразование журнала, результирующий массив был бы малоподобным. Я столкнулся с проблемой, сначала выделив второй массив big-endian, затем выполнив локальный журнал:

b=np.zeros(a.shape,dtype=a.dtype) np.log10(1+100*a,b) 

В вашем случае вы должны выделить b с помощью порядка Fortran.

Python - лучший язык программирования в мире.