2011-07-27 14 views
0

簡単に質問して申し訳ありませんが、私はPythonが初めてです。 Iは、これらの座標を持つ点の集合を有する:Pythonでの特定の配列位置の選択

x=part.points[:,0] 
y=part.points[:,1] 
z=part.points[:,2] 

およびIは、z> 0.5およびz < 0.6でのみポイントを選択したいです。私はwhere演算子を使用しなければならないと思うが、動作しない。私が入力するときを意味する

import numarray 

私はこのモジュールが定義されていない得る。必要なことをするための他の解決策はありますか?ここで

+1

の賛成で廃止されました約? 'パート'とは何ですか?どのライブラリを使用していますか?あなたは「選択」することで何を意味しますか? 'x'、' y'、 'z'はあなたのポイントのいくつかの部分集合を保持するように見える変数です。それは座標と何が関係していますか? –

+0

あなたが使用するデータ構造の種類を明確にしてください。 –

答えて

1

は、それがnumpyで行うことができる方法である:あなたが話しているポイントはどのような

In [34]: import numpy as np 

In [35]: points = np.random.rand(100, 3) 

In [36]: points[(0.5 < points[:,2]) & (points[:,2] < 0.6)] 
Out[36]: 
array([[ 0.71524853, 0.09490989, 0.5053525 ], 
     [ 0.71668105, 0.88735685, 0.52713089], 
     [ 0.17376858, 0.28024362, 0.56543163], 
     [ 0.97134163, 0.95498013, 0.57372901], 
     [ 0.35755719, 0.70042594, 0.56379507], 
     [ 0.31666818, 0.22316937, 0.50953021], 
     [ 0.87787189, 0.35648375, 0.52159669], 
     [ 0.77436531, 0.84893017, 0.51721675], 
     [ 0.88997082, 0.14993883, 0.57662781], 
     [ 0.40895133, 0.95472591, 0.58294156], 
     [ 0.71299491, 0.09611201, 0.56360363], 
     [ 0.68517509, 0.46743956, 0.54170775], 
     [ 0.04632064, 0.56637214, 0.5319611 ], 
     [ 0.7708119 , 0.84934734, 0.58631465], 
     [ 0.73931364, 0.34690535, 0.55264761]]) 
+0

ありがとう、それは働いた:) – Brian

関連する問題