Más contenido relacionado
La actualidad más candente (12)
多次元配列機能比較
- 2. Numpy多次元配列の機能
1. Slice View
• 配列のスライスは、元の配列のビューになる。
2. Broadcasting
• 要素数が1の次元のとき、要素を繰り返して適用。
3. Index/Mask array
• 配列のスライスに与えるインデックスが、
• bool配列のとき、Trueの位置の要素を参照
• int配列のとき、インデックスとして参照
- 3. 1. Slice View
• a[2:4] のようなスライスは、元の配列のビューになる。
>>> a = numpy.arange(5)
array([0, 1, 2, 3, 4])
>>> b = a[2:4]
array([2, 3])
>>> b[:] = 9
array([9, 9])
>>> a
array([0, 1, 9, 9, 4])
• もともと要素参照が a[k][j][i] という記法だったためと思われる。
• Viewによってコピー不要になる例:
• a[3:7] += 5
• diff = a[1:-2] - a[0:-1]
• NArray旧版では不採用
- 5. 3. Index/Mask array
>>> a = numpy.array([1,-2,3,-4,-5])
array([ 1, -2, 3, -4, -5])
>>> bool = a<0
array([False, True, False, True, True], dtype=bool)
>>> a[bool]
array([-2, -4, -5])
>>> index = numpy.where(bool)
(array([1, 3, 4]),)
>>> a[index]
array([-2, -4, -5])
>>> a[a<0] = 0
>>> a
array([1, 0, 3, 0, 0])
(初期のNumpyにはなかった機能)