728x90


import numpy as np
def solution(img):
answer = np.empty((0,np.shape(img)[1]),float)
for i in img:
tmp = np.array([])
for j in range(len(i)):
tmp = np.append(tmp,np.round(i[j][0]*0.3+i[j][1]*0.5+i[j][2]*0.2,1))
answer = np.append(answer,[tmp],axis=0)
return answer
이 문제는 차원이 정해져 있는 줄 알아서 np.empty((0, 2), float) 이렇게 두고 코드를 짜서 계속 오류가 생겼다.
브로드캐스팅을 하기 위해 0과 배열의 1차원의 행으로 answer를 초기화 해주었다.
그리고 배열에 append를 사용하기 위해서는 리스트 원형에 다시 담아야 하기 때문에, 리스트 append와는 다르게 사용해야 한다.
tmp = np.append(tmp, [1, 2], axis=0 )
728x90
'Python > Numpy' 카테고리의 다른 글
Numpy 트레이스 Trace 행렬식 Determinant (0) | 2021.12.21 |
---|---|
Numpy 대각행렬 Diagonal Matrix 항등행렬 Identity Matrix (0) | 2021.12.21 |
행렬 곱 연산 (0) | 2021.12.20 |
numpy 연산 (0) | 2021.12.20 |
배열의 내적연산 (0) | 2021.12.20 |