

Python3.6を使用してます。  
np.arrayで下の配列と範囲を与えられたとき  
arr[a][b][c][d]  
a --1 ～ 72  
b -- 0 ～ 11  
c -- 0 ～ 9  
d -- 0 ～ 4500  
このような形でarr1に代入したいのですが

arr1 = arr[全て(1-72)][12個からから1つ][全て(0 - 9][全て(0 - 4500]

どうやればいいのでしょうか？


CC BY-SA 4.0
2018-09-26T10:04:51.173
48724
2018-09-27T10:04:42.400
30243
question
python python3 array numpy
Pythonでの多次元配列の選び方


NumPy では Python の添え字記法を拡張して使えるようにしており、ある軸の要素を全部取りたいときは `:` を指定すれば取ることができます。

実行例:

[code]

    >>> import numpy as np
    >>> arr = np.zeros((72, 12, 10, 4501))
    >>> arr.shape
    (72, 12, 10, 4501)
    >>> arr1 = arr[:, 5, :, :]  # 試しに 5 番目の行を取ってきてみます
    >>> arr1.shape
    (72, 10, 4501)
    
[/code]

より詳しい使い方については、NumPy ドキュメントの
[Indexing](https://docs.scipy.org/doc/numpy-1.13.0/reference/arrays.indexing.html)
に書かれています。


CC BY-SA 4.0
2018-09-27T04:29:07.380
48754
2018-09-27T10:04:42.400
2018-09-27T10:04:42.400
19110
19110
48724
answer