Numpy 에서 sum 함수 구 와 결과 차원 의 문 제 를 해결 합 니 다.

Numpy(아래 np 로 약칭)의 sum 함 수 를 사용 하여 특정한 차원 에 대해 합 의 를 구 할 때 이 차원 은 합 의 를 구 한 후에 하나의 숫자 가 되 기 때문에 얻 은 결과 의 이 차원 은 비어 있 습 니 다.
예 를 들 어 다음 의 예:

a = np.array([[1,2,3],[4,5,6]])
b = np.sum(a,axis=1)
print(b.shape)
# (2,)
그래서 shape 가(2,3)인 배열 에 대해 기본 적 인 상황 에서 np.sum 함수 구 화 를 사용 하여 얻 은 결과 shape 는(2,)입 니 다.만약 에 우리 가 얻 고 싶 은 것 이(2,1)의 shape 라면 어떻게 합 니까?예 를 들 어 Ng 의 딥 러 닝 프로 그래 밍 연습 에서 Course 1 Assignment 4 가 이렇게 요구 했다.reshape 함 수 를 사용 하 는 것 은 물론 입 니 다.다만 필요 없습니다.너무 번 거 롭 고 우아 하지 않 습 니 다.keepdims 인 자 를 설정 해서 실현 할 수 있 습 니까?아니면 이 예 를 사용 할 수 있 습 니까?

a = np.array([[1,2,3],[4,5,6]])
b = np.sum(a,axis=1,keepdims=True)
print(b.shape)
# (2,1)
(2,1)과(2,)의 shape 는 What's the difference between(N,)and(N,1)in Numpy 를 참조 합 니 다.Stackoverflow
여기 에는 이해 에 도움 이 되 는 작은 예 가 있다.

a = np.ones((5,))
b = np.ones((5,1))
print(a)
# [1. 1. 1. 1. 1.]

print(b)
# [[1.]
# [1.]
# [1.]
# [1.]
# [1.]]
이상 의 Numpy 에서 sum 함수 구 와 결과 차원 의 문 제 를 해결 하 는 것 은 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.여러분 에 게 참고 가 되 고 여러분 들 이 저 희 를 많이 사랑 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기