私はいくつかのより高い次元のnumpy配列をインポートできると思われるプログラムを書いています。アレイのようなものa:numpy配列でどの次元をインデックス化するかを選択する
さらに、各ディメンションは物理的な次元に対応します。周波数、距離、...これらの次元に関する情報を持つ配列をインポートします。上記の場合:
freq = [1,2,3]
time = [0,1,2,3,4,5,6]
distance = [0,0,0,4,1]
angle = [0,180]
この例から明らか
と署名はFREQのように2との寸法0、時間ディメンションに属していることを把握することができます。これは事前に知られていないので、私は周波数がインデックス化された寸法が分からないので、しかし、私は
a_f1 = a[1,:,:,:]
のような周波数スライスを取ることができます。
したがって、インデックスを使用してインデックスするディメンションを選択する方法があります。
これは、ディメンション0のスライスとそれ以外のすべてのディメンションを返します。
a_p = a[0, 1:, ::2, :-1]
を行う
は、あなたはかなり簡単に、必要な場所slice
オブジェクトを使用して、インデックスのタプルを構築して、あなたの配列のインデックスにこれを使用することができ
a_p = a.get_slice([0, 1, 2, 3], [[0,], [1,2,3,4], [0,2,4,6], [0,]])
は、あなたがそこにあるかを事前にどのように多くの寸法を知っているあなたと仮定します - ?ドキュメント遅くを読んでいる間、私はnumpyのは、何をしたいんインデックス・ルーチンを持って気づきましたかつまり、あなたの 'a.get_slice([0、]、[[1]、])'に対して、正確に3つの "完全な他の次元"があるはずですか? – BrenBarn
@BrenBarnまあ、おそらくその構文です。私は構文が必要なものを示すようにしました。 – Robert
パンダ[階層索引(MultiIndex)](http://pandas.pydata.org/pandas-docs/stable/advanced.html)に関するこの記事は興味深いと思います。 –