numpy 배열 방송의 메커니즘

1874 단어 numpy배열 방송
numpy 배열 의 방송 기능 은 강하 지만 동시에 의 심 스 럽 기도 하 다.이제 그 원 리 를 이야기 해 보 자.
방송 원칙:
만약 에 두 배열 의 후 연 차원(즉,말미 부터 계산 하 는 차원)의 축 길이 가 일치 하거나 그 중의 한 측의 길이 가 1 이 라면 방송 이 호 환 되 고 방송 은 결여 와(또는)길이 가 1 인 축 에서 진행 된다 고 생각 합 니 다.
위의 원칙 은 매우 중요 하 다.방송의 지도 사상 이다.다음은 예 를 들 어 보 자.
1.사실은 가장 간단 한 배열 과 스칼라 숫자 사이 의 연산 에 방송 이 존재 한다.다만 우 리 는 그것 을 당연 시 할 뿐이다.

2.다음 예 를 들 면 모두 가 라디오 라 고 생각 할 것 이다.

방송 원칙 에 따 르 면 arr 1 의 shape 는(4,1)이 고 arr 2 의 shape 는(3,)이기 때문에 두 축 에서 동시에 방송 이 발생 하고 arr 1 의 shape 는(4,3)로 변 하 며 arr 2 의 shape 는(4,3)로 변 하기 때문에 결과 도(4,3)이다.
사실 코드 에서 다음 그림 에서 설명 한 일이 발생 했 습 니 다.

3.마찬가지 로 우 리 는 3 차원 배열 의 방송 상황 을 얻 을 수 있다.

방송 원칙 에 따 르 면 arr 1 의 shape 는(3,4,2)이 고 arr 2 의 shape 는(4,2)이 며 그들의 후 연 축 길 이 는 모두(4,2)이기 때문에 0 축 에서 방송 할 수 있 고 arr 2 의 shape 는(3,4,2)로 변 한다.
다음은 3 차원 배열 이 각 차원 에서 의 방송 모양 수 요 를 설명 한다.

이상 의 모든 모양 은 방송 이 발생 할 수 있 으 며,당신 은 우리 가 시작 한 방송 원칙 으로 검증 할 수 있 습 니 다.
마지막 으로 틀 리 기 쉬 운 실제 예 를 하나 더 말씀 드 리 겠 습 니 다.

arr 는 그의 1 축 평균 치 를 빼 면 오류 가 발생 할 수 있 습 니까?왜?
arr.mean(1)이 발생 하 는 shape 는(4,)이기 때문에 방송 원칙 에 따라 작은 배열 의 후 연 차원 은 1 이 어야 합 니 다.
그래서 arr.mean 을(4,1)로 바 꿔 야 합 니 다.원 하 는 결 과 는 다음 과 같 습 니 다.

참고:<파 이 썬 을 이용 한 데이터 분석>
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기