Base/Python

[Python] Numpy 배열 합치기(concatenate)

반응형

배열의 연결(concatenate)


 

- hstack (배열을 옆으로 연결)

- vstack (배열을 수직으로 연결)

- dstack (차원으로 연결)

- stack (차원을 수직으로 연결)

- r_ (배열을 하나로 합치기)

- c_ (차원으로 합치기)

- tile(반복을 통해 배열을 만들기)

 

이건 변수의 상태를 보기 위해 만들었다.

 

# hstack(배열을 옆으로 붙인다.)

# hstack 행의 수가 같은 두 개 이상의 배열은 옆으로 연결 열의 수가 더 많은 배열을 만들 때 사용한다.

hstack을 이용해 첫 번째 h_arr01과 h_arr02를 합쳤다. 이 때 꼭 행의 개수가 같이야 가능하다. 2,3과 2,2를 합쳐 2,5가 되는 행렬이 된다.

 

#vstack (수직으로 행을 추가로 연결한다.)

 

# vstack 열의 수가 같은 두 개 이상의 배열은 아래로 연결 / 행의 수가 더 많은 배열을 만들 때 사용한다.

vstack을 이용해 첫번째 h_arr01과 h_arr02를 합쳤다. 이 때 꼭 열의 개수가 같이야 가능하다. 2,3과 3,3을 합쳐 5,3가 되는 행렬이 된다.

 

#dstack (차원을 쪼개서 연결한다.)

dstack은 차원을 늘리는데 사용된다. 

위와 같이 3차원에 4행 2열짜리 행렬을 만들어준다.  dstack([h_arr01, h_arr02]) 를 통해 차원을 늘려준다. 이건 각자 가지고 있는 것을 쪼개서 만들어준다고 생각하면 된다.

 

다른 방식의 차원을 늘리는 방법도 있다.

 

#stack (차원을 수직으로 추가로 연결한다.)

 

np.stack을 사용하여 각기 다른 두개를 아래에 넣어주는 방식으로 차원을 2차원의 3행 4열을 만들어준다.

 

 

# 인덱서(indexer)

 

# r_ 

r_ 은 두가지 np를 하나로 합치는 역할을 한다.

 

# c_

c_ 같은 경우에는 2가지를 2차원으로 만드는 기능을 가지고 있다.

 

# tile

같은 요소의 배열을 반복해서 사용할 때 사용한다. 행을 3번 열을 2번 반복한다. 그래서 123123으로 열이 두 번 반복되고 이 개수가 3개가 나오는 것이다.

 

 

반응형