私が取り組んでいるより広範なプログラムの一部として、文字列、3D 座標などがすべて混在したオブジェクト配列になってしまいました。オブジェクト配列は構造化配列に比べてあまり好まれていないかもしれませんが、多くのコードを変更せずにこれを回避したいと考えています。
私の配列obj_array(N行)のすべての行が次の形式であると仮定しましょう
Single entry/object of obj_array: ['NAME',[10.0,20.0,30.0],....]
今、このオブジェクト配列を読み込んで、3D 座標チャンクをスライスしようとしています。ここまでは、 let say for を尋ねるだけですべてうまくいきます。
obj_array[:,[1,2,3]]
ただし、結果もオブジェクト配列であり、float の 2D 配列を次のように形成したいので、問題に直面します。
size [N,3] of N rows and 3 entries of X,Y,Z coordinates
今のところ、問題を回避するために、行をループし、すべての行を目的の 2D flot 配列の行に割り当てています。numpy の配列変換ツールを使用するより良い方法があるかどうか疑問に思っていますか? 私はいくつかのことを試しましたが、それを回避できませんでした。
Centers = np.zeros([N,3])
for row in range(obj_array.shape[0]):
Centers[row,:] = obj_array[row,1]
ありがとう