次元情報を失うことなくNumPyインデックススライスを実行する 質問する

次元情報を失うことなくNumPyインデックススライスを実行する 質問する

私は numpy を使用しており、次元情報を失うことなく行にインデックスを付けたいと考えています。

import numpy as np
X = np.zeros((100,10))
X.shape        # >> (100, 10)
xslice = X[10,:]
xslice.shape   # >> (10,)  

この例では、xslice は 1 次元になっていますが、(1,10) にしたいです。R では、X[10,:,drop=F] を使用します。numpy に同様のものはありますか。ドキュメントでは見つけられず、同様の質問も見当たりませんでした。

ありがとう!

ベストアンサー1

もう一つの解決策は

X[[10],:]

または

I = array([10])
X[I,:]

インデックスのリスト (または配列) によってインデックス付けを実行すると、配列の次元が保持されます。次元を保持するか圧縮するかを選択できるため、便利です。

おすすめ記事