본문 바로가기
파이썬/통계분석

[파이썬 강의] 66. 배열 요소 추가하기

by 만다린망고 2021. 10. 22.
반응형

배열에 요소를 추가할 때는 np.append 라는 함수를 사용합니다. 사용 방법은 아래와 같습니다. 

 

np.append(배열, 추가하려는배열, 축)

 

1차원 배열을 예로 들어 사용방법을 설명하면 아래와 같습니다. 

>>> import numpy as np

>>> m1=np.array([1,2,3])
>>> np.append(m1,np.array([4,5,6]),axis=0)
array([1, 2, 3, 4, 5, 6])


1차원배열에는 방향이 하나 뿐이기 때문에 위와 같은 모양으로 밖에 추가가 안됩니다. 만약 행방향으로 배열을 추가하고 싶다면 어떻게해야 할까요? 리스트를 한겹 씌워서 2차원 배열로 만들고 추가하면 됩니다. 

>>> m1=np.array([[1,2,3]])
>>> np.append(m1,np.array([[4,5,6]]),axis=0)
array([[1, 2, 3],
       [4, 5, 6]])


추가하는 배열이 크기가 다른 경우 오류가 발생합니다. 

>>> m2=np.array([[1,2],[3,4]])
>>> np.append(m2,np.array([[5,6,7]]),axis=0)
Traceback (most recent call last):
  File "<pyshell#44>", line 1, in <module>
    np.append(m2,np.array([[5,6,7]]),axis=0)
  File "<__array_function__ internals>", line 5, in append
  File "C:\Users\Jihun\AppData\Local\Programs\Python\Python38\lib\site-packages\numpy\lib\function_base.py", line 4745, in append
    return concatenate((arr, values), axis=axis)
  File "<__array_function__ internals>", line 5, in concatenate
ValueError: all the input array dimensions for the concatenation axis must match exactly, but along dimension 1, the array at index 0 has size 2 and the array at index 1 has size 3


아래와 같이 크기가 같아야 추가가 가능합니다. 

>>> m2=np.array([[1,2],[3,4]])
>>> np.append(m2,np.array([[5,6]]),axis=0)
array([[1, 2],
       [3, 4],
       [5, 6]])
반응형

댓글