選択肢のなしnative
あるかリシェイプに保存し、転置など
例えば内部column_stack
は、2Dの「列」配列にその入力を変換します。効果的には、それぞれが1行の2D配列で確認し、atleast_2d(m)
介し
In [1171]: np.concatenate((np.array(u.real,ndmin=2).T,np.array(u.imag,ndmin=2).T),axis=1)
Out[1171]:
array([[ 1., 2.],
[ 2., 4.],
[ 3., 6.],
[ 4., 8.]])
vstack
はその入力を渡す行っています。 np.dstack
はatleast_3d(m)
を使用します。
新しい機能は、それが連結するための寸法を補正するNone
インデクシングを使用np.stack
In [1174]: np.stack((u.real,u.imag),-1)
Out[1174]:
array([[ 1., 2.],
[ 2., 4.],
[ 3., 6.],
[ 4., 8.]])
あります。効果的に:
すべて使用終了np.concatenate
;それとnp.array
はコンパイルされた結合関数です。
別のトリックは、複素値が2台の隣接するフロートとして保存されview
In [1179]: u.view('(2,)float')
Out[1179]:
array([[ 1., 2.],
[ 2., 4.],
[ 3., 6.],
[ 4., 8.]])
を使用することです。したがって、同じデータバッファは純粋な浮動小数点数として、またはこのビューでは浮動小数点数の2次元配列として見ることができます。 concatenate
ファンクションとは対照的に、ここにはコピーはありません。
u
が2d以上の場合、何が起こるかを尋ねることができます。
私はちょうどこれをチェックアウトしました:)それは醜いインデックス作成を避けます! –