2013-04-15 21 views
5

Im ein Neuling auf Numpy und versuchen, die Grundfrage zu verstehen, was Dimension ist,numpy Dimensionen

habe ich versucht, die folgenden Befehle und zu versuchen, zu verstehen, warum die NDIM für letzten 2 Arrays gleich sind?

>>> a= array([1,2,3]) 
>>> a.ndim 
1 
>>> a= array([[1,2,3],[4,5,6]]) 
>>> a 
array([[1, 2, 3], 
     [4, 5, 6]]) 
>>> a.ndim 
2 
>>> a=arange(15).reshape(3,5) 
>>> a.ndim 
2 

>>> a 
array([[ 0, 1, 2, 3, 4], 
     [ 5, 6, 7, 8, 9], 
     [10, 11, 12, 13, 14]]) 

Mein Verständnis ..

Case 1: 
    array([[1, 2, 3], 
      [4, 5, 6]]) 

2 elements are present in main lists, so ndim is-2 

Case 2: 
    array([[ 0, 1, 2, 3, 4], 
      [ 5, 6, 7, 8, 9], 
      [10, 11, 12, 13, 14]]) 

3 Elemente sind in den Hauptlisten, tun NDIM ist 3-

+0

wäre einfacher zu erklären, wenn Sie erwähnt, was man ihnen erwartet – shx2

+0

zu sein "ndim" bedeutet "Anzahl der Dimensionen". ein 2D-Array hat ndim = 2, ein 3D-Array hat ndim = 3 usw. – endolith

Antwort

10

Die shape eines Arrays ein Tupel von seinen Dimensionen ist. Ein Array mit einer Dimension hat die Form (n,). Ein zweidimensionales Array hat die Form von (n, m) (wie bei Ihrem Fall 2 und 3) und ein dreidimensionales Array hat die Form von (n, m, k) und so weiter.

Daher, während die Form Ihres zweiten und dritten Beispiel sind anders, die Nr. Dimensionen zwei in beiden Fällen:

>>> a= np.array([[1,2,3],[4,5,6]]) 
>>> a.shape 
(2, 3) 

>>> b=np.arange(15).reshape(3,5) 
>>> b.shape 
(3, 5) 

Wenn Sie eine andere Dimension, um Ihre Beispiele hinzufügen wollte würden Sie so etwas zu tun haben:

a= np.array([[[1,2,3]],[[4,5,6]]]) 

oder

np.arange(15).reshape(3,5,1) 

Sie können fügen Sie die Abmessungen auf diese Weise hinzu:

Eine Dimension:

>>> a = np.zeros((2)) 
array([ 0., 0.]) 
>>> a.shape 
(2,) 
>>> a.ndim 
1 

Zwei Dimensionen:

>>> b = np.zeros((2,2)) 
array([[ 0., 0.], 
     [ 0., 0.]]) 
>>> b.shape 
(2,2) 
>>> b.ndim 
2 

Drei Dimensionen:

>>> c = np.zeros((2,2,2)) 
array([[[ 0., 0.], 
     [ 0., 0.]], 

     [[ 0., 0.], 
     [ 0., 0.]]]) 
>>> c.shape 
(2,2,2) 
>>> c.ndim 
3 

vier Dimensionen:

>>> d = np.zeros((2,2,2,2)) 
array([[[[ 0., 0.], 
     [ 0., 0.]], 

     [[ 0., 0.], 
     [ 0., 0.]]], 


     [[[ 0., 0.], 
     [ 0., 0.]], 

     [[ 0., 0.], 
     [ 0., 0.]]]]) 
>>> d.shape 
(2,2,2,2) 
>>> d.ndim 
4 
Verwandte Themen