Pour définir un tableau à une dimension :
>>> from numpy import array >>> array((1,2,3,4,5))
et pour un tableau deux dimensions :
>>> array(([0,1],[1,3]))
On procède de la même manière...
  >>> matrix(([0,1],[1,3]))
  matrix([[0, 1],
          [1, 3]])
On peut voir qu'il force la 2D :
>>> matrix((1,2,3,4,5)) matrix([ [1, 2, 3, 4, 5] ])
Les constructeurs des classes array et matrix acceptent certains objets en argument, pour construire des tableaux/matrices à partir d'eux.
Ces objets peuvent être des listes, des tuples,
>>> L=[1,2,3] >>> dd=array(L) >>> dd array([1, 2, 3])
ou encore d'autres array/matrix :
  >>> aa = array([[ 1,  2,  3,  4],
                  [ 5,  6,  7,  8]])
  >>> dd=array(aa)
Plus précisément, le constructeur est
array(object, dtype = float, copy = 1, order = None, subok = 0, ndmin = 0)
où
>>> aa=array([ [1,2,3] ])
>>> bb[0,1]=2 >>> bb array([ [1, 2, 3] ]) >>> aa array([ [1, 2, 3] ])
On s'aperçoit que la modification de bb entraîne celle de aa. Alors que...
>>> cc=array(aa, copy = 1) >>> cc[0,1]=222 >>> cc array([ [1, 222, 3] ]) >>> aa array([ [1, 2, 3] ])
>>> L=[1,2,3]
>>> dd array([ [1, 2, 3] ])
A comparer avec ce qui précède.
On peut utiliser arange pour créer un vecteur :
>>> from numpy import arange >>> arange(10) array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
Cette fonction est polymorphe : arange(a,b) crée un vecteur de a à b, avec un pas de 1 :
>>> arange(4,8) array([4, 5, 6, 7]) >>> arange(10.5,12.4) array([ 10.5, 11.5])
On peut changer le pas en ajoutant un troisième argument :
>>> arange(10.5, 12.4, 0.3) array([ 10.5, 10.8, 11.1, 11.4, 11.7, 12. , 12.3])
Enfin, on peut à chaque fois préciser le type voulu :
>>> arange(4,8,dtype=float) array([ 4., 5., 6., 7.])
Avec linspace, on fournit le point de départ et d'arrivée du vecteur, ainsi que le nombre de points voulu...
>>> from numpy import linspace >>> linspace(5, 10, num = 5) array([ 5. , 6.25, 7.5 , 8.75, 10. ])
Et on obtient un vecteur, ayant la taille voulue, aux valeurs interpolées linéairement.
On peut souhaiter ne pas considérer le point d'arrivée :
>>> linspace(5, 10, num = 4, endpoint = False) array([ 5. , 6.25, 7.5 , 8.75])
Auquel cas, le pas n'est pas toujours évident à voir, aussi on peut exiger qu'il fasse partie du retour de la fonction :
>>> linspace(5, 10, num = 4, endpoint = False, retstep = True) (array([ 5. , 6.25, 7.5 , 8.75]), 1.25)
La fonction logspace fonctionne un peu comme linspace, mais en échelle log.
  >>> from numpy import logspace
  >>> logspace(0, 1, num = 10)
  array([  1.        ,   1.29154967,   1.66810054,   2.15443469,
           2.7825594 ,   3.59381366,   4.64158883,   5.9948425 ,
           7.74263683,  10.        ])
Dans ce qui précède, on calcule $10^x$, pour $x$ prenant 10 valeurs équiréparties dans [0,1], ce qui correspond donc a :
>>> array([10**k for k in linspace(0,1,num = 10)]) array([1.0, 1.2915496650148839, 1.6681005372000588, 2.1544346900318838, 2.7825594022071245, 3.5938136638046276, 4.6415888336127784, 5.9948425031894086, 7.7426368268112693, 10.0])
On peut, comme pour linspace, décider de ne pas prendre la valeur d'arrivée.
  >>> logspace(1, 2, num = 10)
  array([  10.        ,   12.91549665,   16.68100537,   21.5443469 ,
           27.82559402,   35.93813664,   46.41588834,   59.94842503,
           77.42636827,  100.        ])
  >>> logspace(1,10,num=10)
  array([  1.00000000e+01,   1.00000000e+02,   1.00000000e+03,
           1.00000000e+04,   1.00000000e+05,   1.00000000e+06,
           1.00000000e+07,   1.00000000e+08,   1.00000000e+09,
           1.00000000e+10])
La base peut être changée :
  >>> logspace(1, 10, num=10, base = 2)
  array([    2.,     4.,     8.,    16.,    32.,    64.,   128.,   256.,
           512.,  1024.])
Pour finir, et pour se convaincre que l'on est bien en échelle log, on peut tracer le résultat :
>>> from pylab import plot, show >>> plot(linspace(0,100,num = 100),logspace(0,2,num = 100)) [<matplotlib.lines.Line2D instance at 0x8d1b18c>] >>> show()
On peut créer un tableau constitué uniquement que de uns :
>>> from numpy import * >>> x = ones( (3,4) ) >>> ones( (2,3,4), dtype=int16 )
de zéros :
>>> x = zeros( (3,4), dtype = float)
ou de rien du tout :
>>> x = empty( (3,4), dtype = float )