# Numpy¶

In [ ]:
# provides arrays

In [1]:
from numpy import *

In [ ]:
# creation

In [3]:
a = array([1,2,7])  # from list
a

Out[3]:
array([1, 2, 7])
In [4]:
type(a)

Out[4]:
numpy.ndarray
In [5]:
a = array([[1,2,7],[3,4,99]])  # from list of lists
a

Out[5]:
array([[ 1,  2,  7],
[ 3,  4, 99]])
In [ ]:
# rectangular and homogeneous

In [6]:
b = ones((2,3))
b

Out[6]:
array([[ 1.,  1.,  1.],
[ 1.,  1.,  1.]])
In [8]:
c = zeros(9)
c

Out[8]:
array([ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.])
In [10]:
d = empty(4)
d

Out[10]:
array([  0.00000000e+000,   6.94695473e-310,   5.39246171e-317,
6.94695475e-310])
In [12]:
e = ones(5,dtype=bool)
e

Out[12]:
array([ True,  True,  True,  True,  True], dtype=bool)
In [13]:
a

Out[13]:
array([[ 1,  2,  7],
[ 3,  4, 99]])
In [14]:
10*a

Out[14]:
array([[ 10,  20,  70],
[ 30,  40, 990]])
In [15]:
10*a-1

Out[15]:
array([[  9,  19,  69],
[ 29,  39, 989]])
In [ ]:
access and slicing

In [16]:
d

Out[16]:
array([  0.00000000e+000,   6.94695473e-310,   5.39246171e-317,
6.94695475e-310])
In [17]:
d[1]

Out[17]:
6.9469547337989713e-310
In [19]:
a *= 10
a

Out[19]:
array([[ 100,  200,  700],
[ 300,  400, 9900]])
In [20]:
a[1,2]

Out[20]:
9900
In [21]:
a[1,2] = 0
a

Out[21]:
array([[100, 200, 700],
[300, 400,   0]])
In [ ]:
slicing

In [22]:
f = array([5,6,7,8,11,12,22])
f

Out[22]:
array([ 5,  6,  7,  8, 11, 12, 22])
In [23]:
f[2:6]

Out[23]:
array([ 7,  8, 11, 12])
In [24]:
a

Out[24]:
array([[100, 200, 700],
[300, 400,   0]])
In [25]:
a[0,0:]

Out[25]:
array([100, 200, 700])
In [26]:
a[0,:]

Out[26]:
array([100, 200, 700])
In [27]:
a[0]

Out[27]:
array([100, 200, 700])
In [28]:
a[0]=5

In [29]:
a

Out[29]:
array([[  5,   5,   5],
[300, 400,   0]])
In [30]:
a>100

Out[30]:
array([[False, False, False],
[ True,  True, False]], dtype=bool)
In [31]:
# boolean indexing
a[a>100] = -1
a

Out[31]:
array([[ 5,  5,  5],
[-1, -1,  0]])
In [32]:
aa = a  # aa is a new name for the data referenced by a
aa = array(a) #  aa is a copy of a
aa = array(a,dtype=float)
aa

Out[32]:
array([[ 5.,  5.,  5.],
[-1., -1.,  0.]])
In [33]:
linspace(1,3,21)

Out[33]:
array([ 1. ,  1.1,  1.2,  1.3,  1.4,  1.5,  1.6,  1.7,  1.8,  1.9,  2. ,
2.1,  2.2,  2.3,  2.4,  2.5,  2.6,  2.7,  2.8,  2.9,  3. ])
In [34]:
linspace(1,3,20,endpoint=False)

Out[34]:
array([ 1. ,  1.1,  1.2,  1.3,  1.4,  1.5,  1.6,  1.7,  1.8,  1.9,  2. ,
2.1,  2.2,  2.3,  2.4,  2.5,  2.6,  2.7,  2.8,  2.9])
In [ ]: