함수의 parameter로 numpy.ndarray를 넣게 할 수 있나요??

조회수 680회

다음과 같이 0.5 이상이면 값을 그대로 출력하고 0.5 미만이면 0을 출력하는 함수를 만들었는데요.

실제로 여기에 들어가는 x는 np.ndarray(다차원 배열) 형태이기 때문에 이 함수를 바로 적용할 수 없더군요.

함수의 파라미터로 np.ndarray 를 받아들이려면 어떻게 처리해야 할까요?

X = np.array([[0.98,0.82,0.88],     
            [0.91,0.72,0.66],
            [0.14,0.44,0.36],
            [0.12,0.37,0.28]])

def classifier(x):
    if x > 0.5:
        return x
    else:
        return 0

  • 정확히 뭐가 0.5 이상일 때인가요? 각 하위배열의 0번 원소가 말인가요? 엽토군 2019.3.13 20:23
  • 예를 들면 nd.array([[0.982],[0.120],[0.322],[0.611]]) 이런식으로 4 * 1 열벡터가 주어지면 성분 각각의 값에 대하여 0.5 이상이면 1로 출력시키고, 0,5 미만이면 0으로 출력시키고 싶은 상황입니다. 박형선 2019.3.14 17:43
  • 즉 ([[1],[0],[0],[1]]) 의 열벡터로 변환하고 싶습니다. 박형선 2019.3.14 17:44
  • 배열을 파라미터로 입력하면 배열의 성분 각각에 대해 크기 판정을 해서 1또는 0으로 성분이 바뀐 배열을 보고 싶은데 잘 안되네요 ㅠ.ㅠ 박형선 2019.3.14 17:44
  • 아!! 성공했어요 ㅎㅎ y = x > 0.5 라고 하고 return y.astype(np.int) 로 하니까 되네요! 박형선 2019.3.14 17:59

1 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)