numpy.vsplit

numpy.vsplit 함수는 어레이를 수직 방향으로 여러 개의 서브어레이로 나눕니다.



예제1

import numpy as np

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

a_vsplit = np.vsplit(a, 2)

print(a)
print(a_vsplit)
[[ 0  1  2  3]
[ 4  5  6  7]
[ 8  9 10 11]
[12 13 14 15]]
[array([[0, 1, 2, 3],
     [4, 5, 6, 7]]), array([[ 8,  9, 10, 11],
     [12, 13, 14, 15]])]

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

np.vsplit(a, 2)는 어레이 a를 수직 방향으로 (행 단위로) 쪼개서 리스트의 형태로 반환합니다.

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



예제2

import numpy as np

a = np.arange(6)

a_vsplit = np.vsplit(a, 2)

print(a_vsplit)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-18-97c7a766d34e> in <module>()
    3 a = np.arange(6)
    4
----> 5 a_vsplit = np.vsplit(a, 2)
    6
    7 print(a)

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

/usr/local/lib/python3.7/dist-packages/numpy/lib/shape_base.py in vsplit(ary, indices_or_sections)
  988     """
  989     if _nx.ndim(ary) < 2:
--> 990         raise ValueError('vsplit only works on arrays of 2 or more dimensions')
  991     return split(ary, indices_or_sections, 0)
  992

ValueError: vsplit only works on arrays of 2 or more dimensions

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



이전글/다음글

이전글 :
다음글 :