numpy.dsplit

numpy.dsplit 함수는 어레이를 세번째 축 (depth)을 따라 여러 개의 서브어레이로 나눕니다.



예제1

import numpy as np

a = np.arange(16).reshape(2, 2, 4)

a_dsplit = np.dsplit(a, 2)

print(a)
print(a_dsplit)
[[[ 0  1  2  3]
[ 4  5  6  7]]

[[ 8  9 10 11]
[12 13 14 15]]]
[array([[[ 0,  1],
      [ 4,  5]],

     [[ 8,  9],
      [12, 13]]]), array([[[ 2,  3],
      [ 6,  7]],

     [[10, 11],
      [14, 15]]])]

어레이 a는 (2, 2, 4)의 형태를 갖는 3차원 어레이입니다.

np.dsplit(a, 2)는 어레이 a를 세번째 축을 따라 쪼개서 리스트의 형태로 반환합니다.

numpy.dsplit 함수는 numpy.split 함수에서 axis=2으로 지정한 것과 같이 동작합니다.



예제2

import numpy as np

a = np.arange(16).reshape(4, 4)

a_dsplit = np.dsplit(a, 2)

print(a)
print(a_dsplit)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-27-e694ffbbeda3> in <module>()
    3 a = np.arange(16).reshape(4, 4)
    4
----> 5 a_dsplit = np.dsplit(a, 2)
    6
    7 print(a)

<__array_function__ internals> in dsplit(*args, **kwargs)

/usr/local/lib/python3.7/dist-packages/numpy/lib/shape_base.py in dsplit(ary, indices_or_sections)
 1033     """
 1034     if _nx.ndim(ary) < 3:
-> 1035         raise ValueError('dsplit only works on arrays of 3 or more dimensions')
 1036     return split(ary, indices_or_sections, 2)
 1037

ValueError: dsplit only works on arrays of 3 or more dimensions

numpy.dsplit 함수는 3차원 이상의 어레이에 대해서만 동작합니다.



이전글/다음글

이전글 :
다음글 :