상위 목록: 하위 목록: 작성 날짜: 읽는 데 20 분 소요

병합

import numpy as np

a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
c = np.hstack([a, b])
d = np.vstack([a, b])

print(a)
print(b)
print("--------")
print(c)
print(d)
결과
[[1 2]
[3 4]]
[[5 6]
[7 8]]
--------
[[1 2 5 6]
[3 4 7 8]]
[[1 2]
[3 4]
[5 6]
[7 8]]

numpy.hstack([배열1, 배열2])를 이용하여 배열1 우측배열2이어 붙일 수 있습니다.

numpy.vstack([배열1, 배열2])를 이용하여 배열1 하단배열2이어 붙일 수 있습니다.


import numpy as np

a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
c = np.stack([a, b], axis=0)
d = np.stack([a, b], axis=1)

print(a)
print(b)
print("--------")
print(c)
print("--------")
print(d)
결과
[[1 2]
[3 4]]
[[5 6]
[7 8]]
--------
[[[1 2]
[3 4]]

[[5 6]
[7 8]]]
--------
[[[1 2]
[5 6]]

[[3 4]
[7 8]]]

numpy.stack([배열1, 배열2, axis=축])를 이용하여 지정한 으로 배열1배열2이어 붙일 수 있습니다.

이어 붙일 차원의 범위를 넘어갈 수 없습니다.


import numpy as np

a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
c = np.dstack([a, b])

print(a)
print(b)
print("--------")
print(c)
결과
[[1 2]
[3 4]]
[[5 6]
[7 8]]
--------
[[[1 5]
[2 6]]

[[3 7]
[4 8]]]

numpy.dstack([배열1, 배열2])를 이용하여 새로운 축으로 배열1배열2이어 붙일 수 있습니다.

numpy.stack([a, b], axis=2)동일한 결과를 반환합니다.


import numpy as np

a = np.array([[1, 2], [3, 4]])
b = np.tile(a, 2)

print(a)
print(b)
결과
[[1 2]
[3 4]]
[[1 2 1 2]
[3 4 3 4]]

numpy.tile(배열, 반복 횟수)를 이용하여 배열반복 횟수만큼 이어 붙일 수 있습니다.



특수 병합 메서드

import numpy as np

a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
c = np.c_[a, b]
d = np.r_[a, b]

print(a)
print(b)
print("--------")
print(c)
print(d)
결과
[[1 2]
[3 4]]
[[5 6]
[7 8]]
--------
[[1 2 5 6]
[3 4 7 8]]
[[1 2]
[3 4]
[5 6]
[7 8]]

numpy.c_[배열1, 배열2]를 이용하여 배열1 우측배열2이어 붙일 수 있습니다.

numpy.r_[배열1, 배열2]를 이용하여 배열1 하단배열2이어 붙일 수 있습니다.

소괄호 ()를 사용하지 않고 대괄호 []를 사용하여 메서드를 생성합니다.



분할

import numpy as np

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

a = np.hsplit(array, 2)
b = np.hsplit(array, (1, 3))
c = np.vsplit(array, 2)

print(a)
print("--------")
print(b)
print("--------")
print(c)
결과
[array([[1, 2],
       [5, 6]]), array([[3, 4],
       [7, 8]])]
--------
[array([[1],
       [5]]), array([[2, 3],
       [6, 7]]), array([[4],
       [8]])]
--------
[array([[1, 2, 3, 4]]), array([[5, 6, 7, 8]])]

numpy.hsplit(배열, 개수 또는 구간)를 이용하여 배열을 수평 방향 또는 열(column) 단위로 분할합니다.

numpy.vsplit(배열, 개수 또는 구간)를 이용하여 배열을 수직 방향 또는 행(row) 단위로 분할합니다.

축을 따라 입력된 개수만큼 분할을 실행하며, 구간을 입력할 경우 해당 구간마다 잘라 n+1개의 배열이 생성됩니다.


import numpy as np

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

a = np.split(array, 2, axis=0)
b = np.split(array, 2, axis=1)

print(a)
print(b)
결과
[array([[1, 2, 3, 4]]), array([[5, 6, 7, 8]])]
[array([[1, 2],
       [5, 6]]), array([[3, 4],
       [7, 8]])]
--------
[array([[1, 2, 3, 4]]), array([[5, 6, 7, 8]])]

numpy.split(배열, 개수 또는 구간, 축)를 이용하여 배열을 축 방향으로 분할합니다.

지정된 을 따라 입력된 개수만큼 분할을 실행하며, 구간을 입력할 경우 해당 구간마다 잘라 n+1개의 배열이 생성됩니다.


import numpy as np

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

a = np.dsplit(array, 2)

print(a)
결과
[array([[[ 1, 2],
        [ 5, 6]],

       [[ 9, 10],
        [13, 14]]]), array([[[ 3, 4],
        [ 7, 8]],

       [[11, 12],
        [15, 16]]])]

numpy.dsplit(배열, 개수 또는 구간)를 이용하여 배열을 따라 분할합니다.

해당 함수는 3차원 이상의 배열에서만 작동합니다.

을 따라 입력된 개수만큼 분할하며, 구간을 입력할 경우 해당 구간마다 잘라 n+1개의 배열이 생성됩니다.

댓글 남기기