You will find practice questions related to the NumPy array on this page. These exercises will solve your doubts regarding various ways of creating a NumPy array.

For your better understanding and to solve these questions quickly, it is recommended that you have a knowledge of certain NumPy functions such as zeros(), ones(), linspace(), and others. If you need to learn them visit the following tutorial:

- How to use NumPy zeros() in Python?
- How to use NumPy ones() in Python?
- How to use NumPy linspace() in Python?
- How to use NumPy arange() in Python?

**Q1** Using NumPy function, create a NumPy array of 10 eights.

**Expected Output**

array([ 8., 8., 8., 8., 8., 8., 8., 8., 8., 8.])

**Solution**

import numpy as np arr = np.full(10, 8, dtype=np.float) print(arr)

**Q2** Using NumPy function only, create an array of all even integers from 20 to 30.

**Expected Output**

array([20, 22, 24, 26, 28, 30])

**Solution**

import numpy as np arr = np.linspace(20, 30, 6, dtype=np.int) print(arr)

If you want to learn more about `linspace()`

function, then visit How to use NumPy linspace() in Python?

**Q3** Using NumPy functions only, create a 4x4 matrix with values ranging from 0 to 15.

**Expected Output**

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

**Solution**

import numpy as np arr = np.arange(0, 16).reshape(4, 4) print(arr)

If you want to learn more about `arange()`

function, then visit How to use NumPy arange() in Python?

**Q4** Generate a NumPy array from 0 to 100 (including 100) with a step size of 2. After generating the array, performs the following operations:

- Obtain the sum of the array using numpy.sum() function.
- Obtain the array in which each element of the above-generated array is squared.
- Obtain the sum of the array obtained by (b).
- From the array obtained in (b), take only the values that are smaller than 100.

**Solution**

import numpy as np arr = np.arange(0, 101, step=2) print(arr) print('Sum of the elements: ', np.sum(arr)) squared_arr = arr*arr print('Squared array:\n', squared_arr) print('Sum of elements of squared array: ', np.sum(squared_arr)) print(squared_arr[np.where(squared_arr < 100)])

**Q5** Write a NumPy program to sum of all the multiples of 3 or 5 below 100.

**Solution**

import numpy as np a = np.arange(3, 100, step=3) print(a) b = np.arange(5, 100, step=5) print(b) arr = np.concatenate((a, b)) print(arr) np.sum(arr)

**Q6** Suppose that `a`

is a 2-dimensional NumPy array and that `b`

is a 1-dimensional NumPy array whose length is equal to the number of columns of `a`

. Write a statement that creates a 2-dimensional NumPy array `c`

that has the same shape as a and whose rows are obtained by multiplying the corresponding row of `a`

with `b`

.

**Solution**

So, if `a`

is the 3x2 NumPy array `[[1, 2], [3, 4], [5,6]]`

and `b`

is the NumPy array `[2, 4]`

, then `c`

will be the 3x2 2-dimensional NumPy array `[[2, 8], [6, 16], [10, 24]]`

.

import numpy as np a = np.array([[1, 2], [3, 4], [5, 6]]) b = np.array([2, 4]) c = a*b

When you multiply a and b, broadcasting takes place, and the resultant array obtained is

[[ 2 8] [ 6 16] [10 24]]

**Q7** Assume that `a`

is a 2-dimensional NumPy array of shape (4,2) and that `b`

is a 2-dimensional NumPy of shape (2,3). Write a statement that creates a 2-dimensional NumPy array `c`

of shape (4,3) that is equal to the product of `a`

and `b`

, considered as matrices.

**Solution**

So, if `a`

is a 4x2 NumPy array `[[1,2],[3,4],[5,6],[7,8]]`

and `b`

is a 2x3 NumPy array `[[0,1,2],[3,4,5]]`

, then `c`

will be the 4x3 NumPy array `[[6,9,12],[12,19,26],[18,29,40],[24,39,54]]`

.

import numpy as np a = np.array([[1,2],[3,4],[5,6],[7,8]]) b = np.array([[0,1,2],[3,4,5]]) c = np.dot(a, b)

When you multiply a and b, matrix multiplication takes place, and the resultant array obtained is

[[ 6 9 12] [12 19 26] [18 29 40] [24 39 54]]

**Q8** Assume that a and b are 2-dimensional NumPy arrays of the same shape. Write a statement that creates a 2-dimensional NumPy array c whose rows consist of the rows of a, followed by the rows of b. So c is the concatenation of a and b.

**Solution**

So, if `a`

is the 3x2 NumPy array `[[1, 2], [3, 4], [5, 6]]`

and `b`

is the 3x2 NumPy array `[[10, 9], [8, 7], [6, 5]]`

, then on concatenation `c`

will be the 6x2 2-dimensional NumPy array `[[1, 2], [3, 4], [5,6], [10, 9], [8, 7], [6, 5]]`

.

import numpy as np a = np.array([[1, 2], [3, 4], [5, 6]]) b = np.array([[10, 9], [8, 7], [6, 5]]) c = np.concatenate((a, b)) print(c)

[[ 1 2] [ 3 4] [ 5 6] [10 9] [ 8 7] [ 6 5]]

- NumPy Slicing and Indexing Exercise
- NumPy Random Number Exercise
- Compute Euclidean distance using NumPy Arrays
- Create a NumPy array of numbers between 10 and 20 using arange() function
- How to square every element in NumPy array?