Learn NumPy, the foundation for all numeric and scientific computing in Python

About The Course

Python is the most population language for data science — which seems weird, given that it’s a high-level, dynamic language whose performance doesn’t come even close to that of C. How can it be, that such a language is so popular for working with data?


The answer: NumPy, a library that gives you the best of both worlds, combining the speed of C with the friendliness of Python.


This course introduces you to NumPy, giving you the conceptual and syntactic background you need to successfully start working with Python in the world of data.


If you want to use Python for working with data, then you need to learn NumPy. This course will teach it to you, with the same techniques and exercises I’ve been using at Fortune 500 companies for more than two decades.

This Course Will Show You How To...

This course won't only teach you NumPy's syntax. It'll also teach you how to think about NumPy arrays and data types. Among the topics we cover in this course:

What are NumPy arrays? How are they different from Python lists?


Creating arrays


Retrieving from arrays


Common methods and calculations


Reading from, and writing to files


Broadcasting operations


choosing dtypes


Boolean indexing


Multi-dimensional arrays


Plotting with Matplotlib

Preview The Course

Creating NumPy arrays

Views vs. copies

What is NumPy?

Course Contents

Course Length

5.4 Hours

Number of Lessons


Training Materials

25 PDFs

Coding Exercises


  • Welcome (2 mins)
  • What is NumPy? (7 mins)
  • Installing NumPy (10 mins)
  • Importing NumPy (7 mins)
  • What is a NumPy array? (5 mins)
  • Creating NumPy arrays (9 mins)
  • Exercises 1 (1 min)
  • Exercise solutions 1 (3 mins)
  • generating random arrays (5 mins)
  • Random seeds (3 mins)
  • Vectorized operations ( 6 mins)
  • Vectorized operations with two arrays (3 mins)
  • Commonly used methods (5 mins)
  • Exercises 2 (2 mins)
  • Exercise solutions 2 (5 mins)
  • Fancy indexing (4 mins)
  • Boolean indexing (3 mins)
  • Views vs. copies (6 mins)
  • Selecting with boolean indexes (6 mins)
  • Evens and odds (3 mins)
  • Exercises 3 (2 mins)
  • Exercise solutions 3 (4 mins)
  • Complex conditions (7 mins)
  • Exercises 4 (1 min)
  • Exercise solutions 4 (4 mins)
  • Assigning via indexes (4 mins)
  • Exercises 5 (1 min)
  • Exercise solutions 5 (5 mins)
  • dtypes (8 mins)
  • Setting dtypes (7 mins)
  • Setting the dtype attribute (4 mins)
  • Using astype (4 mins)
  • String lengths (3 mins)
  • Exercises 6 (2 mins)
  • Exercise solutions 6 (5 mins)
  • Complex numbers (3 mins)
  • Boolean vs. integers (3 mins)
  • Setting print options (5 mins)
  • The need for nan (7 mins)
  • Filtering with isnan (5 mins)
  • Making sure that nan will work in your array (3 mins)
  • Replacing nan values with the mean (3 mins)
  • Exercises 7 (1 min)
  • Exercise solutions 7 (3 mins)
  • inf and nan (5 mins)
  • Array shapes (10 mins)
  • Multi-dimensional retrievals (7 mins)
  • Exercises 8 (2 mins)
  • Exercise solutions 8 (5 mins)
  • assigning to 2d arrays (7 mins)
  • Axes and NumPy methods (6 mins)
  • argmin and argmax (5 mins)
  • Flattening arrays (4 mins)
  • Transposing (3 mins)
  • Sorting (6 mins)
  • concatenating arrays (5 mins)
  • Exercises 9 (1 min)
  • Exercise solutions 9 (4 mins)
  • Intro NumPy IO (4 mins)
  • Storing with (6 mins)
  • Loading with np.load (4 mins)
  • mmap_mode (5 mins)
  • Saving and loading npz (6 mins)
  • Storing CSV files with np.savetxt (5 mins)
  • Loading CSV files with np.loadtxt (5 mins)
  • Exercise 10 (1 min)
  • Exercise solutions 10 (4 mins)
  • Intro to Matplotlib (4 mins)
  • Basic plots (5 mins)
  • Format strings (4 mins)
  • Bar plots (3 mins)
  • Histograms (2 mins)
  • Pie plots (2 mins)
  • Exercises 11 (2 mins)
  • Exercise solutions 11 (5 mins)
  • Conclusion (2 mins)

This Course Is Perfect For...


Developers with at least some Python experience (core data structures, functions, and files) who want to start using Python for working with data.



Save 20%


One-Time Purchase (Lifetime Access)
$ 240 One-Time
  • Become fluent with NumPy arrays
  • Analyze all kinds of data
  • Visualize your data with Matplotlib



Access All My Training
$ 50 Per Month
  • All my Python courses
  • Monthly office hours + special events
  • Private forum


One-Time Purchase (Lifetime Access)
$ 240 One-Time
  • Become fluent with NumPy arrays
  • Analyze all kinds of data
  • Visualize your data with Matplotlib



Access All My Training
$ 500 Per Year
  • All my Python courses
  • Monthly office hours + special events
  • Private forum

100% Money Back Guarantee

I’m a one-person company dedicated to improving your career via Python and related technologies. If you haven’t gotten value from any of my courses, then just tell me — and I’ll refund your money.

Meet Your Instructor

Reuven is a full-time Python trainer. In a given year, he teaches courses at companies in the United States, Europe, Israel, India, and China — as well as to people around the world, via his online courses.

Reuven created one of the first 100 Web sites in the world just after graduating from MIT’s computer science department. He opened Lerner Consulting in 1995, and has been offering training services since 1996.

In 2020, Reuven published “Python Workout,” a collection of Python exercises with extensive explanations, published by Manning. He’s currently finishing edits on “Pandas Workout,” a similar collection of exercises using the “Pandas” library for data analytics.

Reuven’s free, weekly “Better developers” newsletter, about Python and software engineering, is read by more than 30,000 developers around the globe. His “Trainer weekly” newsletter is popular among people who give corporate training.

Reuven’s most recent venture is Bamboo Weekly: Every Wednesday, he presents a problem based on current events, using a public data set. And every Thursday, he shared detailed solutions to those problems using Pandas.

Reuven’s monthly column appeared in Linux Journal from 1996 until the magazine’s demise in 2019. He was also a panelist on both the Business of Freelancing and Freelancers Show podcasts.

Reuven has a bachelor’s degree in computer science and engineering from MIT, and a PhD in learning sciences from Northwestern University. He lives in Modi’in, Israel with his wife and three children.