からNumpy's tutorialまで、0
は列のため、1
は行ですが、インデックス化されている理由を把握していません。そして、多次元配列に対処する際にどのように各軸のインデックスを把握するのですか?軸はnumpyの配列でどのようにインデックスされていますか?
答えて
次元の軸番号は、配列shape
内のその次元のインデックスです。また、インデックス作成中にそのディメンションにアクセスするために使用される位置です。
たとえば、2次元配列a
に形状(5,6)がある場合は、までa[4,5]
までアクセスできます。したがって、軸0は第1の次元(「行」)であり、第1の軸は第2の次元(「列」)である。高次元では、「行」と「列」が実際には意味をなさない場合は、関連する図形やインデックスの観点から軸を考えるようにしてください。
例えば.sum(axis=n)
の場合、サイズn
が折りたたまれて削除されます。新しいマトリックスのすべての値は、対応する折りたたみ値の合計と等しくなります。たとえば、b
の形状が(5,6,7,8)
で、c = b.sum(axis=2)
の場合は、軸2(サイズ7の寸法)が折りたたまれ、結果の形状は(5,6,8)
です。さらに、c[x,y,z]
は、すべての要素の合計に等しい。c[x,y,:,z]
。一般に
、軸= 0は、2次元アレイは、二つの対応する軸を有しているので、例えば
に2次元と3次元との各値に変化する最初の次元を持つすべてのセルを意味する:最初は、垂直方向に実行します下方列(軸0)、及び第二列にわたって水平に延びる(軸1)
3Dを、それが複雑になるので、ループ
>>> x = np.array([[[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8]],
[[ 9, 10, 11],
[12, 13, 14],
[15, 16, 17]],
[[18, 19, 20],
[21, 22, 23],
[24, 25, 26]]])
>>> x.shape #(3, 3, 3)
#axis = 0
>>> for j in range(0, x.shape[1]):
for k in range(0, x.shape[2]):
print("element = ", (j,k), " ", [ x[i,j,k] for i in range(0, x.shape[0]) ])
...
element = (0, 0) [0, 9, 18] #sum is 27
element = (0, 1) [1, 10, 19] #sum is 30
element = (0, 2) [2, 11, 20]
element = (1, 0) [3, 12, 21]
element = (1, 1) [4, 13, 22]
element = (1, 2) [5, 14, 23]
element = (2, 0) [6, 15, 24]
element = (2, 1) [7, 16, 25]
element = (2, 2) [8, 17, 26]
>>> x.sum(axis=0)
array([[27, 30, 33],
[36, 39, 42],
[45, 48, 51]])
#axis = 1
for i in range(0, x.shape[0]):
for k in range(0, x.shape[2]):
print("element = ", (i,k), " ", [ x[i,j,k] for j in range(0, x.shape[1]) ])
element = (0, 0) [0, 3, 6] #sum is 9
element = (0, 1) [1, 4, 7]
element = (0, 2) [2, 5, 8]
element = (1, 0) [9, 12, 15]
element = (1, 1) [10, 13, 16]
element = (1, 2) [11, 14, 17]
element = (2, 0) [18, 21, 24]
element = (2, 1) [19, 22, 25]
element = (2, 2) [20, 23, 26]
# for sum, axis is the first keyword, so we may omit it,
>>> x.sum(0), x.sum(1), x.sum(2)
(array([[27, 30, 33],
[36, 39, 42],
[45, 48, 51]]),
array([[ 9, 12, 15],
[36, 39, 42],
[63, 66, 69]]),
array([[ 3, 12, 21],
[30, 39, 48],
[57, 66, 75]]))
の利用複数横切っこのように軸を把握することができます:
>>> a = np.array([[[1,2,3],[2,2,3]],[[2,4,5],[1,3,6]],[[1,2,4],[2,3,4]],[[1,2,4],[1,2,6]]])
array([[[1, 2, 3],
[2, 2, 3]],
[[2, 4, 5],
[1, 3, 6]],
[[1, 2, 4],
[2, 3, 4]],
[[1, 2, 4],
[1, 2, 6]]])
>>> a.shape
(4,2,3)
構造がはっきりとわかるように、値が異なるの形状の配列を作成しました。軸が異なると、異なる「レイヤー」を意味します。
つまり、axis = 0
のインデックスの最初の次元は(4,2,3)
です。それは最初の[]
の配列を参照します。そこに4つの要素があるので、その形状は4:
array[[1, 2, 3],
[2, 2, 3]],
array[[2, 4, 5],
[1, 3, 6]],
array[[1, 2, 4],
[2, 3, 4]],
array[[1, 2, 4],
[1, 2, 6]]
axis = 1
インデックス形状(4,3,2)
第二次元は。レイヤの各配列には2つの要素があります:axis = 0
、e.c。
array[[1, 2, 3],
[2, 2, 3]]
の配列にあります。
array[1, 2, 3]
array[2, 2, 3]
そして、第3の形状値は層の各アレイ素子内の3つの要素があることを意味: 2つの要素があるaxis = 2
は。 e.c. array[1, 2, 3]
には3つの要素があります。それは明白です。
また、最初または最後に[]
の番号から軸/寸法を指定することもできます。この場合、番号は3([[[
)ですので、axis = 0
、axis = 1
、axis = 2
からaxis
を選択できます。
- 1. numpy配列のインデックスを返すにはどうすればよいですか?
- 2. はどうのように私はnumpyの配列を持つ第3の軸
- 3. パンダのデータフレームでnumpy配列のインデックスを取得するにはどうすればよいですか?
- 4. NumPyで(配列の配列の)配列の配列の軸の値を変更するにはどうすればいいですか?
- 5. numpy配列から 'x'軸を抽出するにはどうすればよいですか?
- 6. このnumpy配列のインデックスを作成するにはどうすればよいですか?
- 7. numpy 2D配列にnumpy 1D配列を乗算するにはどうすればよいですか?
- 8. numpy文字配列をnumpy float配列に変換するにはどうすればよいですか?
- 9. numpyの配列インデックスは
- 10. 1 numpyの配列インデックスに
- 11. 配列をnumpyでどのように配列に追加しますか?
- 12. 別のnumpy配列に格納されたインデックスのセットでnumpy配列にアクセスする方法は?
- 13. numpy intを別のnumpy配列でfloatに変換するにはどうすればよいですか?
- 14. NumpyによるMATLABのような配列インデックス
- 15. numpy 3d配列のz軸に沿って最大のインデックスを見つける
- 16. numpy配列でネストされないようにする
- 17. 既存のnumpy配列を構造化配列にするにはどうすればよいですか?
- 18. オーバーレイされたインデックスのスライスでnumpy配列に値を代入
- 19. Cython numpy配列インデックス
- 20. 列の値に応じてnumpy配列をソートするにはどうすればよいですか?
- 21. numpy配列のインデックス付け
- 22. 値の配列を別のインデックス配列に変換するにはどうすればよいですか?
- 23. インデックスを持つnumpy配列を素早く変換します。インデックス上にキー配列されたnumpy配列のdictに変換します
- 24. numpyはネストされた配列にどのようにメモリを割り当てますか?
- 25. numpy配列を別のnumpy配列に基づいてフィルタリングするにはどうすればよいですか?
- 26. 4D配列をインデックスするNumPy配列
- 27. 配列インデックスの個々の値を親インデックスに保存するにはどうすればよいですか?
- 28. インデックス配列のインデックス作成時のNumpy配列の設定値
- 29. 配列のサイズが異なる軸numpyに適用されます
- 30. このようにnumpy配列を操作するにはどうすればいいですか?
'0'は行を参照し、' 1'は列を参照する必要があります。私はあなたが考えていると思う。 '.sum(軸= 0)'で、行を合計します(列の合計を生成します)。 – nneonneo
@nneonneo、はい、それは私の言いたいことですから、どのように各軸のインデックスを知ることができますか? – Alcott