반응형
목차
파이썬 Numpy Array Matrix에 행 값 리스트(List) 추가하기
넘파이로 배열(Matrix)을 만들고 추가 행을 붙이는 방법에 대해서 알아 보겠습니다. 행(Row)을 붙이는 함수는 아래와 같습니다.
np.r_(원본 어레이, 추가할 행)
함수는 r_ 함수를 사용하고 입력 값으로는 원본 array값에 추가할 행 값을 입력 합니다. 여기서 추가할 행에서 주의할 부분은 row의 개수에 맞춘 numpy array 값이여야 하고 list로 넣을 경우 [[ ]] 괄호를 두번 사용해서 동일 matrix라는 사실을 명기 해야 합니다.
그렇지 않으면 아래와 같은 에러 메세지가 발생 합니다.
row_add_list = np.r_[np_list, insert_row]
File "C:\Users\forgo\AppData\Local\Programs\Python\Python310\lib\site-packages\numpy\lib\index_tricks.py", line 412, in __getitem__
res = self.concatenate(tuple(objs), axis=axis)
File "<__array_function__ internals>", line 180, 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 3 and the array at index 1 has size 2
row_add_list = np.r_[np_list, insert_row]
File "C:\Users\forgo\AppData\Local\Programs\Python\Python310\lib\site-packages\numpy\lib\index_tricks.py", line 412, in __getitem__
res = self.concatenate(tuple(objs), axis=axis)
File "<__array_function__ internals>", line 180, in concatenate
ValueError: all the input arrays must have same number of dimensions, but the array at index 0 has 2 dimension(s) and the array at index 1 has 1 dimension(s)
예제를 코드를 보면 쉽게 이해할 수 있습니다.
예제 코드>>
import numpy as np;
np_list = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[10, 11, 12]])
insert_row = [["x", "y", "z"]]
row_add_list = np.r_[np_list, insert_row]
print("np_list : \n",np_list)
print("row_add_list : \n",row_add_list)
3~6번 라인: 3x4의 배열(Matrix)를 생성합니다.
8번 라인: 3x1ㅇ의 행 값을 리스트로 만듭니다.
10번 라인: r_함수를 사용해서 추가 합니다.
결과>>
np_list :
[[ 1 2 3]
[ 4 5 6]
[ 7 8 9]
[10 11 12]]
row_add_list :
[['1' '2' '3']
['4' '5' '6']
['7' '8' '9']
['10' '11' '12']
['x' 'y' 'z']]
파이썬 Numpy Array Matrix에 열 값 리스트(List) 추가하기
앞서 행 추가와 유사합니다. 이번에는 c_ 함수를 사용해서 열(Column) 값을 추가 합니다.
np.c_(원본 넘파이 어레이, 추가할 열)
앞서 행을 추가할 때 주의점에 대해 설명 드렸습니다. 열을 추가할 경우 리스트 값을 사용하면 행과는 다르게 단순 리스트 (행렬(Matrix)로 정의 안해도 됨)로 사용하셔도 됩니다. 하지만 열(Column)의 개수는 맞춰줘야 합니다.
아래 예제를 확인하시면 쉽게 이해할 수 있습니다.
예제 코드>>
import numpy as np;
np_list = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[10, 11, 12]])
insert_column = ["a", "b", "c", "d"]
col_add_list = np.c_[np_list, insert_column]
print("np_list : \n",np_list)
print("col_add_list : \n",col_add_list)
3~6번 라인: 3x4의 배열(Matrix)를 생성합니다.
8번 라인: 1x4의 열 값을 리스트로 만듭니다.
10번 라인: c_함수를 사용해서 추가 합니다.
결과>>
np_list :
[[ 1 2 3]
[ 4 5 6]
[ 7 8 9]
[10 11 12]]
col_add_list :
[['1' '2' '3' 'a']
['4' '5' '6' 'b']
['7' '8' '9' 'c']
['10' '11' '12' 'd']]
반응형
'파이썬(Python) > numpy' 카테고리의 다른 글
[Python] Numpy 배열 값 채우기(1차, 2차, 3차 ....) (0) | 2022.04.19 |
---|---|
[Python] Numpy axe 값이란? 행/열에 따라 합치기 (0) | 2022.03.14 |
[Python] Numpy 행렬(Matrix) 함수(Shape, Reshape) (0) | 2022.03.08 |
[Python]Numpy 기본 팁: Max, Min, 조건검색(where), 정렬(Sort) (0) | 2022.03.06 |
[Python]No module named numpy 관련 에러 해결 방법 (0) | 2022.02.04 |