Developer MJ Story

python 1차원 2차원 Array 다양하게 붙이기 본문

Software/Python&Ruby

python 1차원 2차원 Array 다양하게 붙이기

집근처 2022. 9. 15. 14:37
반응형

오늘은 python에서 1d, 2d array 끼리 붙이는 방법에 대해 공유 하겠습니다. 데이터 분석을 하다보면 array나 list끼리 묶고 싶을 때가 종종 있습니다. 아래 그림과 같은 상황입니다.

1d array를 같은 dimension으로 또는 다른 dimension으로 붙이고 싶을때 np.tile을 사용하면 됩니다. 코드와 동작 예시 입니다.

np.tile의 두번째 인자로 각 dimension으로 몇번을 반복해서 붙일 것인지를 넣어 주면 됩니다. 

 

반응형

 

다음은 2d array끼리 붙이고 싶을때 사용하는 방법인데요. 아래와 같이 붙이고 싶을때 입니다.

이런 상황에서는 np.hstack과 np.vstack을 활용하면 됩니다. 코드는 아래와 같습니다.

def concat_horizon(a, b, c):
    list_data = []
    list_data_pred = []
    for idx in range(len(a)):
        list_data.append(np.hstack([a[idx], b[idx]]))
        list_data_pred.append(np.hstack([a[idx], c[idx]]))
    array_data = np.vstack(list_data)
    array_data_pred = np.vstack(list_data_pred)
    return array_data, array_data_pred

아래 사진은 위 함수 동작 결과입니다. 의도한대로 [4, 8] 2d array가 [4, 16]으로 잘 붙여진 것을 확인 할 수 있습니다.

반응형