ビュー メソッドを使用してフィールドを配列に割り当てる際に問題が発生しています。どうやら、フィールドをどのように割り当てたいかを制御することはできないようです。
a=array([[1,2],[1,2],[1,2]]) # 3x2 matrix
#array([[1, 2],
# [1, 2],
# [1, 2]])
aa=a.transpose() # 2x3 matrix
#array([[1, 1, 1],
# [2, 2, 2]])
a.view(dtype='i8,i8') # This works
a.view(dtype='i8,i8,i8') # This returns error ValueError: new type not compatible with array.
aa.view(dtype='i8,i8') # This works
aa.view(dtype='i8,i8,i8') # This returns error ValueError: new type not compatible with array.
実際、a の転置を使用する代わりにゼロから aa を作成すると、
b=array([[1,1,1],[2,2,2]])
b.view(dtype='i8 i8') # This returns ValueError again.
b.view(dtype='i8,i8,i8') # This works
なぜこれが起こるのですか?行または列を表すようにフィールドを設定する方法はありますか?