np.newaxis 는 numpy.ndarray(다 차원 배열)에 축 을 추가 합 니 다.

다음 과 같다.

>> type(np.newaxis)
NoneType
>> np.newaxis == None
True
np.newaxis 는 사용 과 기능 에 있어 서 None 와 같 습 니 다.원본 코드 를 보면 new axis=None,사실은 None 의 별명 입 니 다.
1.np.newaxis 의 실 용적

>> x = np.arange(3)
>> x
array([0, 1, 2])
>> x.shape
(3,)

>> x[:, np.newaxis]
array([[0],
    [1],
    [2]])

>> x[:, None]
array([[0],
    [1],
    [2]])

>> x[:, np.newaxis].shape
 (3, 1)
2.색인 다 차원 배열 의 한 열 을 되 돌 릴 때 줄 벡터

>>> X = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
>>> X[:, 1]
array([2, 6, 10])    %       
>>> X[:, 1].shape    % X[:, 1]            ,      ,
(3, )
만약 우리 가 다 차원 배열 의 한 열 을 색인 할 때,돌아 오 는 것 은 여전히 열 구조 이 고,정확 한 색인 방식 은:

>>>X[:, 1][:, np.newaxis]
array([[2],
   [6],
   [10]])
두 번 째 열 과 네 번 째 열의 연결(레이 어드)을 실현 하려 면:

>>>X_sub = np.hstack([X[:, 1][:, np.newaxis], X[:, 3][:, np.newaxis]])      
          % hstack:horizontal stack,        
>>>X_sub
array([[2, 4]
   [6, 8]
   [10, 12]])
물론 더 쉬 운 방법 은 슬라이스 를 사용 하 는 것 이다.

>> X[:, [1, 3]]
array([[ 2, 4],
    [ 6, 8],
    [10, 12]])
3.np.expand 사용dims

>> X = np.random.randint(0, 9, (2, 3))
>> mean_X = np.mean(X, axis=0)
>> X - mean_X           #          

>> mean_X = np.mean(X, axis=1)
>> X - mean_X
ValueError: operands could not be broadcast together with shapes (2,3) (2,)
이 때 는 수 동 으로 mean 을 조정 해 야 합 니 다.X 의 차원 은 broadcast 를 할 수 있 도록 다음 과 같은 세 가지 방식 으로 지정 한 축 에서 broadcast 를 진행 합 니 다.
mean_X[:, None]
mean_X[:, np.newaxis]
mean_X = np.expand_dims(mean_X, axis=1)
이 np.newaxis 는 numpy.ndarray(다 차원 배열)에 축 하 나 를 추가 하 는 것 이 바로 작은 편집 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.참고 하 시 기 를 바 랍 니 다.여러분 들 도 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기