반응형
배열에 요소를 추가할 때는 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]])
반응형
'파이썬 > 통계분석' 카테고리의 다른 글
[파이썬 강의] 68. 모든 값이 0인 배열 원하는 크기로 만들기 (zeros) (0) | 2021.10.25 |
---|---|
[파이썬 강의] 67. 배열 요소 삭제하기 (0) | 2021.10.22 |
[파이썬 강의] 65. 축(axis) 개념 이해하기 (0) | 2021.10.22 |
[파이썬 강의] 64. 배열을 원하는 방향으로 합치기 (concatenate 함수와 axis) (0) | 2021.10.22 |
[파이썬 강의] 63. 벡터를 열벡터로 연결 (column_stack 함수) (0) | 2021.10.22 |
댓글