sailorCat
카테고리
작성일
2021. 12. 20. 23:18
작성자
sailorCat
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
sailorCat😘