PythonとJMP 18こんにちは、
JMP 18でコードを使おうとしているのですが、仕組みがよく分かりません。最初にpythonnパッケージをインストールし、変数をPythonに渡してPythonコードを実行しています。しかし、常に以下のいずれかのエラーが発生します。numpyがインストールされているにもかかわらずnumpyが検出されない、または送信した変数が検出されなくなった、のいずれかです。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
lstMeasures = Column( dt, "height" ) << Get As Matrix();
Python Install Packages( "numpy pandas scipy" );
Python Send( lstMeasures );
Python Submit(
"
import numpy as np
from scipy.stats import kstest, norm, weibull_min, rayleigh
data = np.array(lstMeasures)
# Fit des lois
mu, sigma = norm.fit(data)
ks_norm = kstest(data, 'norm', args=(mu, sigma))
c, loc, scale = weibull_min.fit(data)
ks_weibull = kstest(data, 'weibull_min', args=(c, loc, scale))
loc_r, scale_r = rayleigh.fit(data)
ks_rayleigh = kstest(data, 'rayleigh', args=(loc_r, scale_r))
"
);
ks_norm = Python Get( ks_norm );
ks_weibull = Python Get( ks_weibull );
ks_rayleigh = Python Get( ks_rayleigh );


自動化とスクリプトPythonとJMP 18についてJMP(JSL)のスクリプトエディタで、まさにそのコードを実行していますか?スクリプトに問題は見当たりませんし、私の環境では問題なく動作しています。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
lstMeasures = Column(dt, "height") << Get As Matrix();
Python Install Packages("numpy pandas scipy");
Python Send(lstMeasures);
Python Submit("
import numpy as np
from scipy.stats import kstest, norm, weibull_min, rayleigh
data = np.array(lstMeasures)
mu, sigma = norm.fit(data)
ks_norm = kstest(data, 'norm', args=(mu, sigma))
c, loc, scale = weibull_min.fit(data)
ks_weibull = kstest(data, 'weibull_min', args=(c, loc, scale))
loc_r, scale_r = rayleigh.fit(data)
ks_rayleigh = kstest(data, 'rayleigh', args=(loc_r, scale_r))
");
ks_norm = Python Get(ks_norm);
ks_weibull = Python Get(ks_weibull);
ks_rayleigh = Python Get(ks_rayleigh);
show(ks_norm, ks_weibull, ks_rayleigh);
@Paul_Nelson
PythonとJMP 18についてこんにちは。JMP 18.0.0 を使用していましたが、JMP を再起動したら問題はなくなりました...
PythonとJMP 18についてJMPを初めて起動する場合など、特にJMPが新しくインストールしたPythonパッケージを認識するために、JMPを再起動する必要があることがあります。Numpyは特に扱いが難しいです。また、Pythonのパッケージ処理メカニズムは、インポートに失敗したパッケージを再検索しません。失敗したことを認識しているので、再試行する必要はありません。importlibとreloadを使用することで、パッケージの再読み込みを強制的に試行できます。