🚀
Numpy
03 Numpy Exercises
++++
Data Science
May 2026×Notebook lesson

Notebook converted from Jupyter for blog publishing.

03-NumPy-Exercises

Driptanil Datta
Driptanil DattaSoftware Developer

NumPy Exercises

Now that we've learned about NumPy let's test your knowledge. We'll start off with a few simple tasks and then you'll be asked some more complicated questions.

IMPORTANT NOTE! Make sure you don't run the cells directly above the example output shown,
otherwise you will end up writing over the example output!

1. Import NumPy as np

import numpy as np

2. Create an array of 10 zeros

# CODE HERE
np.zeros((10))
RESULT
array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])
# DON'T WRITE HERE
RESULT
array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])

3. Create an array of 10 ones

np.ones((10))
RESULT
array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])
# DON'T WRITE HERE
RESULT
array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])

4. Create an array of 10 fives

np.ones((10)) * 5
RESULT
array([5., 5., 5., 5., 5., 5., 5., 5., 5., 5.])
# DON'T WRITE HERE
RESULT
array([5., 5., 5., 5., 5., 5., 5., 5., 5., 5.])

5. Create an array of the integers from 10 to 50

np.arange(10,51)
RESULT
array([10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
       27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
       44, 45, 46, 47, 48, 49, 50])
# DON'T WRITE HERE
RESULT
array([10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
       27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
       44, 45, 46, 47, 48, 49, 50])

6. Create an array of all the even integers from 10 to 50

np.arange(10, 51, 2)
RESULT
array([10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42,
       44, 46, 48, 50])
# DON'T WRITE HERE
RESULT
array([10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42,
       44, 46, 48, 50])

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

np.arange(9).reshape(3,3)
RESULT
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
# DON'T WRITE HERE
RESULT
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])

8. Create a 3x3 identity matrix

np.identity(3)
RESULT
array([[1., 0., 0.],
       [0., 1., 0.],
       [0., 0., 1.]])
# DON'T WRITE HERE
RESULT
array([[1., 0., 0.],
       [0., 1., 0.],
       [0., 0., 1.]])

9. Use NumPy to generate a random number between 0 and 1

 NOTE: Your result's value should be different from the one shown below.

np.random.rand(1)
RESULT
array([0.96934451])
# DON'T WRITE HERE
RESULT
array([0.65248055])

10. Use NumPy to generate an array of 25 random numbers sampled from a standard normal distribution

  NOTE: Your result's values should be different from the ones shown below.

np.random.rand(1, 25)
RESULT
array([[0.90567178, 0.7850947 , 0.68553382, 0.93534235, 0.88121079,
        0.22514085, 0.78426661, 0.813014  , 0.36364837, 0.90605616,
        0.62467637, 0.46156559, 0.03637912, 0.84683038, 0.93085044,
        0.55751785, 0.80180866, 0.13463081, 0.0829896 , 0.12628335,
        0.9022479 , 0.91327593, 0.81035739, 0.68158791, 0.37698927]])
# DON'T WRITE HERE
RESULT
array([ 1.80076712, -1.12375847, -0.98524305,  0.11673573,  1.96346762,
        1.81378592, -0.33790771,  0.85012656,  0.0100703 , -0.91005957,
        0.29064366,  0.69906357,  0.1774377 , -0.61958694, -0.45498611,
       -2.0804685 , -0.06778549,  1.06403819,  0.4311884 , -1.09853837,
        1.11980469, -0.48751963,  1.32517611, -0.61775122, -0.00622865])

11. Create the following matrix:

np.arange(1, 101).reshape(10,10) / 100
RESULT
MORE
array([[0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1 ],
       [0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19, 0.2 ],
       [0.21, 0.22, 0.23, 0.24, 0.25, 0.26, 0.27, 0.28, 0.29, 0.3 ],
       [0.31, 0.32, 0.33, 0.34, 0.35, 0.36, 0.37, 0.38, 0.39, 0.4 ],
       [0.41, 0.42, 0.43, 0.44, 0.45, 0.46, 0.47, 0.48, 0.49, 0.5 ],
# DON'T WRITE HERE
RESULT
MORE
array([[0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1 ],
       [0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19, 0.2 ],
       [0.21, 0.22, 0.23, 0.24, 0.25, 0.26, 0.27, 0.28, 0.29, 0.3 ],
       [0.31, 0.32, 0.33, 0.34, 0.35, 0.36, 0.37, 0.38, 0.39, 0.4 ],
       [0.41, 0.42, 0.43, 0.44, 0.45, 0.46, 0.47, 0.48, 0.49, 0.5 ],

12. Create an array of 20 linearly spaced points between 0 and 1:

np.linspace(0,1,20)
RESULT
array([0.        , 0.05263158, 0.10526316, 0.15789474, 0.21052632,
       0.26315789, 0.31578947, 0.36842105, 0.42105263, 0.47368421,
       0.52631579, 0.57894737, 0.63157895, 0.68421053, 0.73684211,
       0.78947368, 0.84210526, 0.89473684, 0.94736842, 1.        ])
# DON'T WRITE HERE
RESULT
array([0.        , 0.05263158, 0.10526316, 0.15789474, 0.21052632,
       0.26315789, 0.31578947, 0.36842105, 0.42105263, 0.47368421,
       0.52631579, 0.57894737, 0.63157895, 0.68421053, 0.73684211,
       0.78947368, 0.84210526, 0.89473684, 0.94736842, 1.        ])

Numpy Indexing and Selection

Now you will be given a starting matrix (be sure to run the cell below!), and be asked to replicate the resulting matrix outputs:

# RUN THIS CELL - THIS IS OUR STARTING MATRIX
mat = np.arange(1,26).reshape(5,5)
mat
RESULT
array([[ 1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10],
       [11, 12, 13, 14, 15],
       [16, 17, 18, 19, 20],
       [21, 22, 23, 24, 25]])

13. Write code that reproduces the output shown below.

  Be careful not to run the cell immediately above the output, otherwise you won't be able to see the output any more.

# CODE HERE
mat[2:,1:]
RESULT
array([[12, 13, 14, 15],
       [17, 18, 19, 20],
       [22, 23, 24, 25]])
# DON'T WRITE HERE

14. Write code that reproduces the output shown below.

mat[3,4]
RESULT
np.int64(20)
# DON'T WRITE HERE

15. Write code that reproduces the output shown below.

mat[0:3,1:2]
RESULT
array([[ 2],
       [ 7],
       [12]])
# DON'T WRITE HERE

16. Write code that reproduces the output shown below.

mat[4]
RESULT
array([21, 22, 23, 24, 25])
# DON'T WRITE HERE
RESULT
array([21, 22, 23, 24, 25])

17. Write code that reproduces the output shown below.

mat[3:]
RESULT
array([[16, 17, 18, 19, 20],
       [21, 22, 23, 24, 25]])
# DON'T WRITE HERE
RESULT
array([[16, 17, 18, 19, 20],
       [21, 22, 23, 24, 25]])

NumPy Operations

18. Get the sum of all the values in mat

mat.sum()
RESULT
np.int64(325)
# DON'T WRITE HERE
RESULT
325

19. Get the standard deviation of the values in mat

mat.std()
RESULT
np.float64(7.211102550927978)
# DON'T WRITE HERE
RESULT
7.211102550927978

20. Get the sum of all the columns in mat

mat.sum(axis=0)
RESULT
array([55, 60, 65, 70, 75])
# DON'T WRITE HERE
RESULT
array([55, 60, 65, 70, 75])

Bonus Question

We worked a lot with random data with numpy, but is there a way we can insure that we always get the same random numbers? Click Here for a Hint (opens in a new tab)

Great Job!

Drip

Driptanil Datta

Software Developer

Building full-stack systems, one commit at a time. This blog is a centralized learning archive for developers.

Legal Notes
Disclaimer

The content provided on this blog is for educational and informational purposes only. While I strive for accuracy, all information is provided "as is" without any warranties of completeness, reliability, or accuracy. Any action you take upon the information found on this website is strictly at your own risk.

Copyright & IP

Certain technical content, interview questions, and datasets are curated from external educational sources to provide a centralized learning resource. Respect for original authorship is maintained; no copyright infringement is intended. All trademarks, logos, and brand names are the property of their respective owners.

System Operational

© 2026 Driptanil Datta. All rights reserved.