2009-09-10 11 views
21

To spowodowało, że przez chwilę drapałem się po głowie. Nieumyślnie kroiłem tablicę z None i otrzymywałem coś innego niż błąd (oczekiwałem błędu). Zamiast tego zwraca tablicę z dodatkowym wymiarem.Numerowanie tablicy NumPy za pomocą Brak

>>> import numpy 
>>> a = numpy.arange(4).reshape(2,2) 
>>> a 
array([[0, 1], 
     [2, 3]]) 
>>> a[None] 
array([[[0, 1], 
     [2, 3]]]) 

Czy to zachowanie jest celowe lub efekt uboczny? Jeśli jest to zamierzone, czy istnieje ku temu uzasadnienie?

Odpowiedz

28

Używanie Brak jest równoważne użyciu numpy.newaxis, więc tak, jest celowe. W rzeczywistości są to te same rzeczy, ale oczywiście, newaxis lepiej to określa.

The docs

A related SO question.