2017-08-03 7 views
0

私は1D配列を持っています。 grid_pro_xを呼び出します。それはパーティクルの位置を示します。それは-100〜100マイクロメートルである。パーティクルのエネルギーであるPx_proという別の1D Arrayもあります。 私は、その位置が10マイクロメーターを超えている粒子についてPx_pro配列を抽出したいと思います。私はあなたが私が320000.は、誰もが私がしなければならないものを私を助けることができるしている代わりに24000の最終ラインで見ることができるように、その配列の一部を選択する場所を使用

len= len(grid_pro_x) 
print len ,' Number of initial X point' 
<<<<320000 

grid = np.where(grid_pro_x<10.e-06,0.,grid_pro_x) 
grid = np.extract(grid !=0,grid) 
print np.shape(grid),' Number of elements grid' 

<<<24000 

np.where(grid_pro_x<10.e-6,0.,Px_pro) 
Px_pro_new = np.extract(Px_pro !=0,Px_pro) 
print np.shape(Px_pro_new),' Number of elements Px_pro-new' 
<<<<320000 

のような何かをしました?

おかげ

+1

説明が分かりにくいです。あなたは2つの例の配列と望ましい出力を与えることができますか? –

答えて

1

np.where()を使用する必要はありません。

numpy.abs(grid_pro_x) > 10e-6 

は、どの要素が条件を満たすかを示すブール値の配列を与えます。この配列を使用して、pro_xから値を抽出することができます。

pro_x[numpy.abs(grid_pro_x) > 10e-6] 
+1

これは文字通りコードが何をしているのか... –

関連する問題