Обычные массивы Python обычно называются «списками». Тип numpy.array в Python - это специальный тип, который более эффективен в отношении памяти, чем обычный список Python обычных объектов Python с плавающей запятой. Numpy.array оборачивает стандартный блок памяти, доступ к которому осуществляется как собственный тип массива Си. Это, в свою очередь, НЕ соответствует чисто типам массивов Delphi.
Как говорит Дэвид, если вы хотите использовать C, все будет проще. Если вы хотите использовать Delphi и получить доступ к Numpy.array, я подозреваю, что самый простой способ сделать это - найти способ экспортировать некоторые простые функции C, которые обращаются к типу Numpy.array. В C я импортировал бы пустые заголовки, а затем написал функции, которые я мог бы вызывать из Pascal. Тогда я бы импортировал эти функции из DLL:
function GetNumpyArrayValue( arrayObj:Pointer; index:Integer):Double;
Я давно не писал код оболочки CPython. Это было бы проще, если бы вы хотели просто получить доступ к типам CORE PYTHON из Delphi. Существующие оболочки Python-for-delphi помогут вам. Использование numpy с Delphi - это намного больше работы.
Поскольку вы пишете только DLL, а не целое приложение, я бы посоветовал вам забыть о Delphi и написать этого щенка на простом C, что и должно быть в действительности расширение Python (то, что вы пишете) написано в.
Короче говоря, поскольку вы пишете DLL в Pascal, вам потребуется по крайней мере еще одна небольшая DLL в C, просто для того, чтобы соединить типы между типами расширений Python (numpy.array) и плавающим Python точечные значения. И даже тогда вы не сможете легко (быстро) получить значение массива, которое вы можете прочитать в Delphi, как собственный тип массива delphi.
Самый быстрый механизм доступа, о котором я могу подумать, это:
type
PDouble = ^Double;
function GetNumpyArrayValue( arrayObj:Pointer; var doubleVector:PDouble; var doubleVectorLen:Integer):Boolean;
Затем вы можете использовать математический тип типа doubleVector (указатель) для доступа к базовому типу памяти массива C.