NumPy配列をJava配列に変換する方法がいくつかありますが、その逆もありません - JavaオブジェクトのデータをNumPy配列に戻す方法 - 配列のint[ ][ ]
種類Java配列からNumPy配列(Py4J)への高速変換
from py4j.java_gateway import JavaGateway
gateway = JavaGateway() # connect to the JVM
my_java = gateway.jvm.JavaClass(); # my Java object
....
int_array=my_java.doSomething(int_array); # do something
my_numpy=np.zeros((size_y,size_x));
for jj in range(size_y):
for ii in range(size_x):
my_numpy[jj,ii]=int_array[jj][ii];
my_numpy
がnumpyの配列である、int_array
整数のJava配列である:私はこのようなPythonスクリプトを持っています。 Pythonスクリプトで初期化:それはあるとして、それが動作
int_class=gateway.jvm.int # make int class
double_class=gateway.jvm.double # make double class
int_array = gateway.new_array(int_class,size_y,size_x)
double_array = gateway.new_array(double_class,size_y,size_x)
が、それは最速の方法ではなく、むしろゆっくりと作品 - 1000×1000列〜のために、変換が5分以上かかりました。
妥当な時間でこれを行う方法はありますか?
私がしようとした場合:
test=np.array(int_array)
私が手:
ValueError: invalid __array_struct__