• 회원가입
  • 로그인
  • 구글아이디로 로그인

[numpy] PY - NumPy Splitting Array (배열 분할) ★

3973  
array_split() : 배열 분할

분할 : 배열 결합의 반대. (즉, 1개 배열 → 다수 배열)

 

array_split(arr, split_cnt)

arr : 필수. 배열

split_cnt : 필수. 배열 개수

※ 반환값: 다수 배열을 포함하는 배열.

 


[3개로 분할]

 

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6])

newarr = np.array_split(arr, 3)

print(newarr)

 

결과값: [array([1, 2]), array([3, 4]), array([5, 6])]


[4개로 분할] - 요소가 부족한 경우엔, 배열 끝부터 조정.

split() : 요소 부족 시 조정 X.

※ array_split() : 요소 부족 시 조정 O.

 

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6])

newarr = np.array_split(arr, 4)

print(newarr)

 

결과값: [array([1, 2]), array([3, 4]), array([5]), array([6])] 

 

분할된 배열 출력

 

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6])

newarr = np.array_split(arr, 3)

print(newarr) # [array([1, 2]), array([3, 4]), array([5, 6])]

print(newarr[0]) # [1 2]

print(newarr[1]) # [3 4]

print(newarr[2]) # [5 6]

 

 

2차원 배열 분할

 

1차원 배열 분할과 동일한 방식 사용.

 


[요소 2개인 1차원 배열을 갖는 2차원 배열 분할

 

import numpy as np

arr = np.array([[1, 2], [3, 4], [5, 6], [7, 8], [9, 10], [11, 12]])

newarr = np.array_split(arr, 3)

print(newarr)

 

결과값:

[array([[1, 2],

       [3, 4]]), array([[5, 6],

       [7, 8]]), array([[ 9, 10],

       [11, 12]])]


[요소 3개인 1차원 배열을 갖는 2차원 배열 분할]

 

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]])

newarr = np.array_split(arr, 3)

print(newarr)

 

결과값:

[array([[1, 2, 3],

       [4, 5, 6]]), array([[ 7,  8,  9],

       [10, 11, 12]]), array([[13, 14, 15],

       [16, 17, 18]])]


[1차원 배열을 각 row (행) 따라 정렬 후, 각 순번끼리 묶어 분할.]


import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]])

newarr = np.array_split(arr, 3, axis=1)

print(newarr)

 

결과값:

[array([[ 1],

       [ 4],

       [ 7],

       [10],

       [13],

       [16]]), array([[ 2],

       [ 5],

       [ 8],

       [11],

       [14],

       [17]]), array([[ 3],

       [ 6],

       [ 9],

       [12],

       [15],

       [18]])]


[hsplit() 함수 이용 시, 위와 동일 결과값 가능.]

 

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]])

newarr = np.hsplit(arr, 3)

print(newarr)


결과값:

[array([[ 1],

       [ 4],

       [ 7],

       [10],

       [13],

       [16]]), array([[ 2],

       [ 5],

       [ 8],

       [11],

       [14],

       [17]]), array([[ 3],

       [ 6],

       [ 9],

       [12],

       [15],

       [18]])] 

※ hsplit() 함수 ↔ hstack() 함수.

※ vsplit() 함수 ↔ vstack() 함수.

※ dsplit() 함수 ↔ dstack() 함수.



분류 제목
set Python - set.isdisjoint() 메서드 - 두 Set의 공통요소 유무 체크. (= isdisj…
set Python - set.issubset() 메서드 - 서브 Set인지 체크. (= issubset메서드 = …
set Python - set.issuperset() 메서드 - 수퍼 Set인지 체크. (= issuperset메서…
set Python - set.pop() 메서드 ★ - Set에서 요소 랜덤 제거 후, 제거된 요소 반환. (= p…
set Python - set.remove() 메서드 ★ - Set에서 지정요소 제거. (= remove메서드 = …
set Python - set.symmetric_difference() 메서드 - Set의 공통요소 제외한 결합 S…
set Python - set.symmetric_difference_update() 메서드 - Set의 공통요소 제…
set Python - set.union() 메서드 ★ - 중복 시 한번만 포함해 Set 결합. (=셋 합치기 u…
set Python - set.update() 메서드 - 두 Set을 결합해 기존 set을 수정. (= update…
file Python - File Method - 파일메서드 종류
file Python - close() 메서드 ★★★ - 열린 파일 닫기. (= close메서드 = 클로즈 메서드)
file Python - detach() 메서드 △ - 버퍼에서 분리된 원시 스트림 반환. (= detach메서드 =…
file Python - fileno() 메서드 - 스트림의 파일 설명자를 숫자로 반환. (= fileno메서드 = …
file Python - flush() 메서드 ★ - 버퍼 비우기/정리. (= flush메서드 = 플러시메서드)
file Python - isatty() 메서드 - 파일 스트림이 상호대화형인지 체크. (= isatty메서드)
file Python - read() 메서드 ★★★ - 파일 읽기. (= read메서드 = 리드 메서드)
file Python - readable() 메서드 ★ - 파일 읽기 가능 여부 체크. (= readable메서드 =…
file Python - readline() 메서드 ★ - 파일 한 줄 읽기. (= readline메서드 = 리드라인…
file Python - readlines() 메서드 ★ - 파일 읽기 후, List 객체 반환. (= readlin…
file Python - seek() 메서드 ★ - 파일의 출력 시작점 설정. (= seek메서드 = 시크 메서드)
13/24
목록
찾아주셔서 감사합니다. Since 2012