Wednesday 11 January 2017

NUMPY Queries

1.Import the numpy package under the name np

Import numpy as np


2.Print the numpy version and the configuration

>>> print(np.__version__)
1.11.2
>>> np.show_config()

3.Create a null vector of size 10

>>> Z = np.zeros(10)

>>> Z

4.How to get the documentation of the numpy add function from the command line?

>>>np.info(np.add)

5.Create a null vector of size 10 but the fifth value which is 1

>>>Z = np.zeros(10)
>>>Z[4] = 1
>>>print(Z)

6.Create a vector with values ranging from 10 to 49 

>>>Z = np.arange(10,50)
>>>print(Z)

7.Reverse a vector (first element becomes last)

>>>Z = np.arange(50)

>>>Z = Z[::-1]

8.Create a 3x3 matrix with values ranging from 0 to 8

>>>Z = np.arange(9).reshape(3,3)
>>>print(Z)

9.Find indices of non-zero elements from [1,2,0,0,4,0]

>>>nz = np.nonzero([1,2,0,0,4,0])
>>>print(nz)

10.Create a 3x3 identity matrix

>>>Z = np.eye(3)
>>>print(Z)

or

>>>Z=np.identity(3)

11.Create a 3x3x3 array with random values

>>>X=np.random.random((3,3,3))

12.Create a 10x10 array with random values and find the minimum and maximum values

>>>Z = np.random.random((10,10))
>>>Zmin, Zmax = Z.min(), Z.max()
>>>print(Zmin, Zmax)

13.Create a random vector of size 30 and find the mean value
>>>Z = np.random.random(30)
>>>m = Z.mean()
>>>print(m)

14.Create a 2d array with 1 on the border and 0 inside

Z = np.ones((10,10))
Z[1:-1,1:-1] = 0

15.What is the result of the following expression?

>>> 0 * np.nan
nan
>>> np.nan == np.nan
False
>>> np.inf > np.nan
False
>>> np.nan
nan
>>> np.nan - np.nan
nan
>>> 0.3 == 3 * 0.1
False

16.Create a 5x5 matrix with values 1,2,3,4 just below the diagonal

Z = np.diag(1+np.arange(4),k=-1)
print(Z)

17.Create a 8x8 matrix and fill it with a checkerboard pattern

Z = np.zeros((8,8),dtype=int)
Z[1::2,::2] = 1
Z[::2,1::2] = 1
print(Z)

18.Consider a (6,7,8) shape array, what is the index (x,y,z) of the 100th element?
>>> print(np.unravel_index(100,(6,7,8)))
(1, 5, 4)


19.Create a checkerboard 8x8 matrix using the tile function

>>>Z = np.tile( np.array([[0,1],[1,0]]), (4,4))

20.Normalize a 5x5 random matrix
>>>Z = np.random.random((5,5))
>>>Zmax, Zmin = Z.max(), Z.min()
>>>Z = (Z - Zmin)/(Zmax - Zmin)

>>>print(Z)

21.Create a custom dtype that describes a color as four unisgned bytes (RGBA)
>>> color = np.dtype([("r", np.ubyte, 1),
                  ("g", np.ubyte, 1),
                  ("b", np.ubyte, 1),
                  ("a", np.ubyte, 1)])
>>> color
dtype([('r', 'u1'), ('g', 'u1'), ('b', 'u1'), ('a', 'u1')])

22.Multiply a 5x3 matrix by a 3x2 matrix (real matrix product)

>>>X=np.dot(np.ones((5,3)),np.ones((3,2)))

23.Given a 1D array, negate all elements which are between 3 and 8, in place.
>>> Z = np.arange(11)
>>> Z[(3 < Z) & (Z <= 8)] *= -1
>>> Z
array([ 0,  1,  2,  3, -4, -5, -6, -7, -8,  9, 10])

24.Create a 5x5 matrix with row values ranging from 0 to 4

X=np.ones((5,5))
X+=np.arange(5)

25.