Disclosure: Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Best Courses Guides

10 Best NumPy Courses to Take in 2024

Whether you’re a data scientist, machine learning engineer, or just someone who needs to crunch a bunch of numbers in a short amount of time, NumPy is definitely for you.

NumPy is the most fundamental package in Python’s scientific computing world. Its popularity lies in its ability to handle and operate on arrays and matrices of any size, whether they contain a handful of elements or millions of them. From machine learning and artificial intelligence to physics and engineering, NumPy is the go-to library for anyone who works with numbers — at least for two thirds of Python developers!

And who said that simplicity is a trade off for performance? NumPy is blazingly fast and versatile, while also being easy to learn. And with the right courses, you’ll learn it even quicker. I’ve compiled a list of the best courses to learn NumPy in this Best Courses Guide. So if you’re serious about crunching numbers, look forward to my top picks. 

Click on one to skip to the course details:

Course Workload In Brief
1. Python NumPy For Your Grandma (Ben Gorman) 2 hours Overall best comprehensive free course for beginners with hands-on tutorials
2. Python NumPy Tutorial for Beginners (freeCodeCamp) 1 hour Best short but concise free crash course for beginners
3. From Python to Numpy (Nicolas P. Rougier) N/A Covers NumPy through the lens of vectorization for free for intermediates
4. Introduction to Numerical Computing with NumPy (Alex Chabot-Leclerc) 2–3 hours Best free series of hands-on tutorials in lecture format to learn NumPy for beginners
5. Introduction to NumPy (DataCamp) 4 hours Best for data scientists and analyst
6. NumPy Essential Training: 1 Foundations of NumPy (LinkedIn Learning) 1–2 hours Best course to drill in the foundations of NumPy in a short amount of time
7. NumPy Tutorial (2022): For Physicists, Engineers, and Mathematicians (Luke Polson) 1–2 hours Best free NumPy course for STEM students
8. Learn Statistics with NumPy (Codecademy) 5 hours Best comprehensive course that also covers statistics
9. Advanced NumPy (Juan Nunuz-Iglesias) 2–3 hours Best free advanced course on NumPy patterns for scientific computing
10. 100 NumPy exercises (Nicolas P. Rougier) N/A Best free collection of exercises for practicing coding NumPy

Why NumPy is the Fundamental Package for Scientific Computing in Python

NumPy is an open-source Python library widely known for its efficient handling of complex, mathematical operations on large, multidimensional arrays (called ndarrays). To understand why NumPy is so popular, we must first contrast NumPy arrays to Python’s native lists.

Python wasn’t designed with numerical computing in mind. However, what was designed in mind was simplicity and readability. Funnily enough, it was this design decision that drove more and more scientists and engineers to adopt the Python language for their computational work, even though it wasn’t as fast as other harder-to-learn languages. Instead of looking for another alternative, scientists and engineers did what they do best and adapted the language to their needs, resulting in the development of many scientific frameworks and libraries to overcome Python’s inherent sluggishness.

Thus, NumPy was born. By utilizing fixed types, no type checking when iterating through objects, utilization of contiguous memory, effective cache utilization, as well as other optimization techniques, NumPy is now much faster than the standard Python list with a magnitude of 5 to 100 times! And when paired with an efficient Python implementation like Cython, it can even reach speeds up to 1250 times faster!

Taken from Lesson 3 – Numerical Computing with Numpy | Jovian

Though that wasn’t the only thing NumPy brought to the table. NumPy also provides a wealth of functions that enable complex operations on arrays with just a few lines of code, including mathematical, logical, shape manipulation, discrete Fourier transforms, basic linear algebra, basic statistical operations, random simulation, and much, much more.

All of these reasons combined brought NumPy the versatility and speed needed to become the fundamental package for all scientific computing in Python, and it did. With an astounding 62% of all Python developers using NumPy for data-related tasks, it’s hard to say that it isn’t one of the most widely used Python packages. In fact, it even serves as the base for many other major data science libraries in Python, such as pandas (which is only 8% less popular than NumPy)! 

One hidden benefit that brings is that NumPy seamlessly integrates with most other Python libraries as well, like SciPy, TensorFlow, scikit-learn and Matplotlib. Together, these libraries provide a complete data science and scientific computing environment, making it easy for anyone to analyze, visualize, and manipulate data all within a single Python environment!

Hence, whether you’re a data scientist, machine learning engineer, or just someone who needs to crunch a bunch of numbers in a short amount of time, NumPy is definitely worth learning.

Best Courses Guides Methodology

I built this ranking following the now tried-and-tested methodology used in previous Best Courses Guides (you can find them all here). It involves a three-step process:

  1. Research: I started by leveraging Class Central’s database with 100K online courses and 200K+ reviews. Then, I made a preliminary selection of 70+ NumPy courses by rating, reviews, and bookmarks.
  2. Evaluate: I read through reviews on Class Central, Reddit, and course providers to understand what other learners thought about each course and combined it with my own experience as a learner.
  3. Select: Well-made courses were picked if they presented valuable and engaging content and they have to fit in a set of criteria and be ranked accordingly: comprehensive curriculum, affordability, release date, ratings and enrollments.

Course Ranking Statistics

Here are some aggregate stats about the ranking:

  • Every course in this ranking assumes you have basic familiarity with Python.
  • The most represented provider in this ranking is YouTube, followed by other independents.
  • All the courses in this ranking with the exception of three are suitable for NumPy beginners.

Without further ado, let’s go through the top picks.

1. Python NumPy For Your Grandma (Ben Gorman)

My No. 1 pick for the best NumPy course goes to Python NumPy For Your Grandma, created by Ben Gorman. So easy, your grandma could learn it!

The reason why this comprehensive course is my top pick is because it doesn’t merely teach you the fundamentals of NumPy in a short amount of time, but rather, it also challenges you with fun and interesting Jupyter notebook exercises (about 18 in total) to help you practice what you’ve learned and really understand what’s going on behind the scenes in NumPy! Oh, and did I mention that it’s free?

Ben Gorman covers what you’d want to know about NumPy to solve complex numerical problems, including simple topics like array creation, transformations, and random sampling, to more complicated ones like indexing and broadcasting.

What You’ll Learn

Why NumPy? Great question! This course starts off by pulling you into the motivation behind NumPy arrays and how they differ from regular Python lists. You’ll then explore the basics of NumPy arrays, such as how to create both 1-D and multidimensional arrays, how to index them, and how to perform mathematical operations on them.

Next, you’ll dive deeper into more intermediate topics. Broadcasting allows you to perform mathematical operations on arrays with different shapes. You’ll find the newaxis() and reshape functions() helpful in this regard, as they can modify the shape of arrays. Additionally, you’ll examine Boolean indexing and how they can be used to select elements from an array based on a certain condition, for example if they are of a nan or an infinity data type.

Although NumPy offers numerous functions, you’ll focus on a select few that are commonly used, such as where(), all(), and any(), which check conditions on array elements. You’ll also explore the concatenate and stacking functions that combine arrays, as well as the sorting() and unique() functions that sort and find unique values in arrays.

Though most of the intricacies of array indexing has been swept under the rug, it’s time to unroll the carpets and dust off the gritty details. With clear examples and illustrations, you’ll figure out the underlying workings of array indexing, and even understand why sometimes indexing produces a view and other times it makes a copy.

And last but not least, you’ll be introduced to two powerful yet not-well-known functions: as_strided(), which creates complex views of an existing array, and einsum(), which calculates the Einstein sums of arrays. You’ll use them as part of larger statistical operations, such as One-Hot-Encoding.

How You’ll Learn

This course is roughly 3 hours long, including 25 lecture videos (≈1.7 hrs) and 18 challenge videos (≈1.3 hrs). You’ll learn through a series of lecture style videos, taking advantage of the animated examples and code walkthroughs to help with your understanding. There are also challenging problems that you’ll complete to test your knowledge of the topic.

Provider YouTube
Instructor Ben Gorman
Level Beginner
Workload 2–3 hours
Enrollments 10K
Rating 4.5 /5.0 (165)
Certificate None

Fun Facts

If you’re interested in this course, you can find more information about the course and how to enroll here.

2. Python NumPy Tutorial for Beginners (freeCodeCamp)

My 2nd pick for the best NumPy course is Keith Galli’s Python NumPy Tutorial for Beginners.

In this easy-to-understand free tutorial for beginners, you’ll get a thorough understanding of the underlying principles behind NumPy’s functionality in just under an hour! From there, you’ll dive right into the basics of creating arrays and quickly progress to more advanced concepts such as indexing, math, statistics, and reshaping.

What You’ll Learn

After discussing the remarkable differences between NumPy arrays and regular Python lists along with some applications of NumPy, you’ll jump straight to the basics.

First, you’ll learn how to create arrays, specifying their shape, size, and data type. Then, you’ll learn how to access and modify their specific elements, rows, and columns using slicing. And to make your life easier, you’ll also explore several preset ways to initialize arrays. Want an array full of ones? Zeros? Any number? Or even just random numbers? All of these can be done in one single method!

Copying variables can be a bit messy, so you’ll be advised on avoiding some of the common pitfalls. You’ll also learn how to perform mathematical operations from arithmetic, trigonometry, linear algebra, statistics. These skills will come in handy when you’re dealing with data sets and need to perform complex mathematical operations.

You’ll also discover how to reorganize arrays, including how to reshape them and stack them vertically or horizontally. Loading data from a file is another skill you’ll learn, which is essential when working with large data sets. Finally, you’ll finish the course with a discussion on advanced indexing and Boolean masking to extract specific values from arrays.

How You’ll Learn

This course is 1 hour long. You’ll learn by watching the lecture video. The content of the course is delivered in two parts: one devoted to teaching the theory and applications of NumPy using slides, while the other dives into using NumPy with on-screen demos. 

Institution freeCodeCamp
Provider YouTube
Instructor Keith Galli
Level Beginner
Workload 1 hour
Views 1M
Likes 25K
Certificate None

Fun Facts

  • Check Keith Galli’s YouTube channel, where he makes educational videos on Computer Science, Programming, Board Games, and more!
  • freeCodeCamp offers many other courses on various programming languages on their YouTube channel as well as on their website.

If you’re interested in this course, you can find more information about the course and how to enroll here.

3. From Python to Numpy (Nicolas P. Rougier)

My third pick for the best NumPy course is From Python to Numpy written by Nicolas P. Rougier.

This course takes a different approach to NumPy from what other courses might take, teaching you techniques that you won’t find in most books. It focuses on using NumPy as a tool for vectorization, rather than as an object-oriented or procedural one. Many code examples and exercises will be provided to help you reshape your approach to many common problems.

Though this free course is a bit outdated (v1.12.0 vs v1.24.0 at the time of writing), around 99% of the code will still work.

To take this course, you should have an intermediate level of proficiency in Python and ideally a beginner level understanding of NumPy.

What You’ll Learn

You may be confused by what it means to use NumPy as a tool for vectorization, so let me pull an example from the course.

Imagine you need to create a list of numbers from 1 to 10. One way to do this is to use a loop. You first start with 1 and increment by 1 in each iteration, append the value to a list until you reach 10. It gets the job done, but for large numbers, it’s not the most efficient solution.

But with NumPy, you can turn this entire process on its head by vectorizing it. Rather than creating each number one by one in a loop, you can generate all the numbers from 1 to 10 at once and accumulate them into a list — no loops required! By getting rid of the loop overhead, your code now runs 85% faster! That’s the power of vectorization in action.

Now that you understand vectorization, the first and most important friend you’ll make in this course is vectors. In NumPy vectors are called ndarrays (short for n-dimensional arrays). It’s much more efficient than Python’s native list, and to understand why you’ll dissect its anatomy to get a better look from the inside.

Once you have a good grasp of how arrays work, speeding up your code is a breeze — but provided you know which methods are vectorizable! You’ll learn how to recognize vectorizable problems and solve them through various means, such as uniform, temporal, and spatial vectorization. And even if the problem isn’t vectorizable, fear not, for that just means you have to rethink your problem to make it vectorizable! Thus, you’ll discover that many common problems come with alternative solutions.

NumPy’s strengths go far beyond a mere multi-dimensional container of generic data. You’ll learn how to tailor NumPy to your specific needs by using ndarrays as a private property (TypedList) or by directly subclassing it (GPUData). But remember: just because NumPy is versatile doesn’t mean that it’s the solution to every problem. You’ll also learn about alternatives to NumPy, both within Python itself or within external libraries.

How You’ll Learn

This course consists of 10 chapters in total. You’ll learn by reading through the course chapters and gleaming insights from the example codes shown. You’ll also learn a lot by working on the exercises which come with solutions to help adapt your brain to think in vectors.

Institution National Institute for Research in Digital Science and Technology (Inria)
Website labri.fr
Author Nicolas P. Rougier
Level Intermediate
Workload N/A
Certificate None

Fun Facts

  • Nicolas P. Rougier is a full-time research scientist at Inria, a French national institute for research in computer science and control. He has more than 15 years of experience using Python and more than 10 years of experience using NumPy for neuroscience modeling, machine learning, and advanced visualization with OpenGL. He teaches Python, NumPy, and scientific visualization at the University of Bordeaux and in various conferences and schools worldwide, including SciPy and EuroScipy.

If you’re interested in this course, you can find more information about the course and how to enroll here.

4. Introduction to Numerical Computing with NumPy (Alex Chabot-Leclerc)

Presented by Alex Chabot-Leclerc at the SciPy 2019 Conference, Introduction to Numerical Computing with NumPy teaches students the basics of NumPy (with a sprinkle of matplotlib) through slide presentations, hands-on demonstrations, and exercises. The exercises include analyzing the daily performance of a company’s stock, getting statistical insights from wind data, smoothing an image by averaging neighboring pixels, and plotting an image — pretty fascinating if you ask me.

Hence, by the end of this free course you have enough knowledge of NumPy and matplotlib to undertake any numerically intensive project.

Also, if you want to follow along, you can find the tutorial materials here.

What You’ll Learn

NumPy allows for vectorized operations that make manipulating large amounts of data much easier. You’ll begin this course by investigating why that is the case (Hint: a lot of it has to do with how ndarrays are represented in-memory). Next, you’ll create one and two-dimensional arrays, access them, set elements in them, and also slice them using the colon syntax. In fact, you’ll need to be careful when slicing arrays, as you don’t want to unintentionally modify the original array. 

After becoming a slice master, you’ll learn how to blur an image by averaging each pixel with its immediate neighbor. It may sound scary at first working with images as data, but trust me, NumPy makes it quite simple.

The next topic you’ll learn is fancy indexing (yes, that’s what it’s called). It allows you to index by indexing by value, not just position, and comes in two forms: indexing by position and masking or boolean indexing. It’s quite similar to searching and filtering an array, but more flexible.

Finally, you’ll discover the common mathematical functions (sum, product, min, max, PTP (peak-to-peak)) has to provide. The course will have you keep in mind that some operations can change the array’s metadata, such as its shape or data type.

How You’ll Learn

This course is 2–3 hours long. Alex goes through his slides and Jupyter notebook in the video, so your job is to watch and pay close attention. The exercises he provides will help you cement the knowledge and skills you’ve just learned.

Channel Enthought
Provider YouTube
Instructor Alex Chabot-Leclerc
Level Beginner
Workload 2–3 hours
Views 177K
Likes 4.1K
Certificate None

Fun Facts

  • Alex is the Vice President of Digital Transformation Solutions. He has taught the scientific Python stack and machine learning to hundreds of scientists, engineers, and analysts at the world’s largest corporations and national laboratories.

If you’re interested in this course, you can find more information about the course and how to enroll here.

5. Introduction to NumPy (DataCamp)

DataCamp’s Introduction to NumPy paid course with free trial takes you on a tour of NumPy by working with three real-world datasets: the New York City’s tree census, store sales data, and Monet paintings image data. Thus, anyone who takes this course will experience what it’s like to use NumPy (especially) as a data scientist or analyst — making this course quite practical.

By the end, you’ll understand why NumPy is so efficient, use broadcasting and vectorization to make your NumPy code even faster, and understand why array alterations are essential tools for machine learning.

What You’ll Learn

The NumPy ndarray, a grid-like structure of any number of dimensions that holds a single data type, is the singular most important data structure you need to know as a data scientist. You’ll learn why they are highly efficient, and how to create and change them to suit your needs.

After that, you’ll advance your data wrangling skills by slicing and filtering arrays to extract specific subsets of data and sorting arrays to quickly identify patterns and trends. You’ll also learn how to shape your data according to the principles of dimension compatibility to prepare for array mathematics in the next part of the course.

NumPy’s vectorized operations make performing mathematical operations fast and simple, as long as both arrays are of the same size. But if this isn’t the case, don’t worry — broadcasting logic comes to the rescue! You’ll learn not only how to use vectorized operations, but you’ll also discover how to convert Python functions into one.

Finally, you’ll be introduced to the world of array transformations using image data from a Claude Monet painting. Through trial and error, you’ll figure out how to load .npy files and use flipping and transposing to transform the painting. Then, you’ll pull apart its RGB colors, make changes, and reconstruct it using array stacking to see what a Monet painting looks like with blues emphasized.

How You’ll Learn

This course has 4 hours worth of material, including videos, quizzes, and coding exercises. You’ll learn by watching the well-presented lecture videos, answering the MCQ quizzes, and completing the interactive coding exercises in DataCamp’s browser-based programming environment.

Provider DataCamp
Instructors Izzy Weber, James Chapman, Amy Peterson
Level Beginner
Workload 4 hours
Enrollments 23K
Certificate Paid

Fun Facts

If you’re interested in this course, you can find more information about the course and how to enroll here.

6. NumPy Essential Training: 1 Foundations of NumPy (LinkedIn Learning)

This NumPy Essential Training series on LinkedIn Learning will help strengthen your NumPy foundations.

You’ll learn how to work with ndarrays, NumPy’s fundamental data structure, with functions and operations such as indexing, slicing, broadcasting, and more. So, if you are mainly learning NumPy for numerical and statistical computing, this course has you covered!

No knowledge of NumPy is required to take this course.

What You’ll Learn

First, you’ll cover the benefits of NumPy and Jupyter Notebooks over Python lists and a regular .py file. Then, you’ll learn about creating NumPy arrays. Questions like “What are the different types of arrays?”, “How do I convert one type to another”, and “What if I want a matrix instead of an array?” will all be answered swiftly. 

Of course, once you’ve created arrays, you’ll next want to manipulate them! You’ll enlarge your arsenal of array manipulation with adding, removing, sorting, reshaping, indexing, and slicing.

But to be able to truly bend the arrays to your will, you’ll need more than that, since those operations you’ve learned act on a single array. To add, subtract, or even multiply two arrays or matrices together, you’ll study broadcasting techniques to do so. Also, you’ll pick up on a few aggregate functions such as sums and averages for statistical analysis, and finally end the course with a lesson on reversing arrays.

How You’ll Learn

This course is 1–2 hours long. You’ll learn by watching the lecture videos and studying them intensively. There are code examples and the likes provided, by the way. Also, to assess your understanding of the topics covered, each chapter includes a quiz with a varying number of questions, so make sure you make the best use of them.

Provider LinkedIn Learning
Instructor Terezija Semenski
Level Intermediate
Workload 1–2 hours
Enrollments 8K
Rating 4.7 / 5.0 (250)
Certificate Paid

Fun Facts

  • If you like this course, you should take the second part where the capabilities of NumPy for plotting graphs with matplotlib are analyzed.
  • Terezija Semenski has been a mathematician and software developer for over a decade, having led a QA team on educational, financial, and banking app development projects and before that, worked in the education sector teaching IT and Mathematics. She currently works as a freelance educator and software developer.

If you’re interested in this course, you can find more information about the course and how to enroll here.

7. Learn Statistics with NumPy (Codecademy)

Learn Statistics with NumPy is a great introductory course to both NumPy and Statistics to anyone who already knows some Python.

In this course, you’ll learn the basics of analyzing data. By the end, you’ll be able to do basic analysis of a dataset and understand how we can use statistics to come to conclusions about data.

What You’ll Learn

The first lesson covers the introduction to NumPy and teaches you how to create NumPy arrays to store arrays of numbers. You’ll then get acquainted with NumPy’s different functions to perform mathematical operations on arrays and matrices, or in more scary terms, linear algebra.

The second and third lesson of the course both cover statistics. But to do statistical analysis in NumPy, you should probably know some statistics first. Thus, you’ll brush up on your knowledge of statistical concepts — mean, median, standard deviation, and the like — but also cover a bit deeper than the average highschool curriculum, such as analyzing different statistical distributions and testing hypothesis using statistical methods. 

How You’ll Learn

This course has 5 hours worth of lessons, projects, and quizzes. There are three lessons, and each of them end with a project and quiz (both are only accessible to Codecademy Pro subscribers).

If you’re a Codecademy Pro subscriber, you’ll have access to the projects and quizzes. Once you’ve completed all the lessons and assignments, you’ll earn a nice-looking certificate.

Provider Codecademy
Level Intermediate
Workload 5 hours
Enrollments 19K
Rating None
Certificate Paid

Fun Facts

  • Codecademy was co-founded by Zach Sims and Ryan Bubinski, with the goal of giving  anyone in the world the ability to learn the skills they’d need to succeed in the 21st century. 
  • They offer free courses in 12 different programming languages, the most popular ones being Python, Java, Ruby, C++, C#, and Swift.

If you’re interested in this course, you can find more information about the course and how to enroll here.

8. NumPy Tutorial (2022): For Physicists, Engineers, and Mathematicians (Luke Polson)

So you’re learning NumPy for numerical or scientific computing? Then this course is just for you!

You’ll start learning NumPy from scratch in this free NumPy tutorial,  before gradually climbing your way up to more advanced concepts. Through Jupyter Notebooks, you’ll be guided through the ins and outs of NumPy.

You should have some experience with Python before taking this course.

What You’ll Learn

This course starts off with an introduction to the array basics — creating them, indexing them, slicing them, vectorizing them, and also performing mathematical operations on them. For example, you’ll learn how to statistically analyze the mean or standard deviation of an array, and even plot the derivative or integral of a function using MatPlotLib.

Then, you’ll expand your field of view by jumping from one dimension to multiple dimensions, a.k.a matrices. Thus begins the age of linear algebra. You’ll learn how to do matrix operations, solve systems of linear equations, and even find the eigenvalue or eigenvectors of matrices. Finally, you’ll learn how to import csv datasets into NumPy.

How You’ll Learn

This course is 1–2 hours long. You’ll learn by watching the lecture video and by following along with Luke solving NumPy questions in the Jupyter notebooks.

Institution Mr. P Solver
Provider YouTube
Instructor Luke Polson
Level Beginner
Workload 1–2 hours
Views 93K
Likes 3.1K
Certificate None

Fun Facts

  • Luke is currently a PhD student at the University of British Columbia studying Medical Physics. He runs a YouTube channel with the aim of making Python education available to all. He also has a Udemy course called Python STEM Essentials.

If you’re interested in this course, you can find more information about the course and how to enroll here.

9. Advanced NumPy (Juan Nunuz-Iglesias)

Do you already know some NumPy (perhaps by taking the fourth course in this ranking) and want to level up your knowledge? Then, this course is for you!

In Advanced NumPy, Juan Nunuz-Iglesias teaches you advanced NumPy patterns for scientific computing. To simulate the kind of complex data you’ll most likely work with, he’ll solve questions regarding gene expression and RNA-seq (don’t worry, you’ll learn how to read them at the start of this course). Through a Jupyter Notebook hands-on tutorial, you’ll cover broadcasting rules, strides / stride tricks, advanced indexing, and more!

The prerequisites for this course are Python and basic NumPy / array computing.

What You’ll Learn

After downloading and setting up the course materials, you’ll be given a quick crash course on understanding gene expression and RNA-seq, which is the type of data you’ll analyze. Then, you’ll explore the internal structure of NumPy arrays — shape, dtype, strides, and more — to understand why NumPy is both fast and powerful for manipulating data.

One of the ways NumPy is memory efficient is that it uses strides that avoid copying data in the array when accessing them and instead store how many bytes are needed to move from one element of an array to the other. A lot of things in NumPy avoid copying data directly really, for example when you slice a subarray it creates a view which references data in the original array. 

Broadcasting helps us perform arithmetic operations on arrays of different shapes, saving us the effort of explicitly needing to reshape or duplicate the data. The next part of the course teaches you how to normalize gene expression data to produce a density plot with this technique! However, not all shapes are compatible, so sometimes you’ll need to reshape the array anyways.

Sliding window is used to process or analyze subsets of an array by creating a smaller subarray that moves across the larger array, one element at a time. To reduce noise in a dataset, many filtering techniques use sliding windows, such as mean filtering, difference filtering, and gaussian filtering.

Finally, you’ll end this course with fancy indexing, a way to select subsets of an array using an index array. You’ll see how it can be used to generalize 1 value indexing to multi-value indexing à la broadcasting.

How You’ll Learn

This course / tutorial is 2–3 hours long. This course takes a guided hands-on approach to learning, where you’ll watch Juan code in the Jupyter notebook and demonstrate his program. You’ll also learn by doing the exercises given in the notebook to help strengthen your knowledge of the material.

Channel Enthought
Provider YouTube
Instructor Juan Nunuz-Iglesias
Level Advanced
Workload 2–3 hours
Views 30K
Likes 600
Certificate None

Fun Facts

  • You can find the link to download the course material on his GitHub repo here.
  • Juan Nunez-Iglesias is a Research Fellow and CZI Imaging Software Fellow at Monash University in Melbourne, Australia. He is a core developer of scikit-image and has taught scientific Python at SciPy, EuroSciPy, the G-Node Summer School, and at other workshops. He is the co-author of the O’Reilly title “Elegant SciPy”.

If you’re interested in this course, you can find more information about the course and how to enroll here.

10. 100 NumPy exercises (Nicolas P. Rougier)

100 NumPy exercises is a collection of NumPy problems from all over the Internet, along with some created and thrown in by the author, Nicolas P. Rougier.

Doing is the best way of learning. Hence, this course will help you brush up your NumPy skills into tip-top shape by doing a hundred exercises that gradually increase in difficulty. You’ll have hints to guide if you get stuck, and once you’re done, you can check with the solution.

This course is suitable for all levels of programmers,from beginners to advanced.

What You’ll Learn

The exercises are organized into the following categories:

  1. Basic NumPy operations: Importing NumPy, creating basic arrays and matrices, finding memory size, accessing documentation, basic indexing, and mathematical operations (Exercises 1-17).
  2. Array manipulation: Creating specific arrays and matrices, reversing vectors, random values, min/max, mean, creating borders, normalization, custom data types, and matrix multiplication (Exercises 18-25).
  3. Array operations and expressions: Evaluating expressions, legal expressions, rounding, common values, ignoring warnings, and date operations (Exercises 26-34).
  4. Advanced array manipulation: Creating more complex arrays, working with generators, sorting, summing, equality checks, immutability, and coordinate transformations (Exercises 35-45).
  5. Structured arrays: Creating and working with structured arrays, computing distances, and custom array classes (Exercises 46-54).
  6. File I/O and iteration: Reading files, enumerating NumPy arrays, generating Gaussian-like arrays, and working with sliding windows (Exercises 55-59).
  7. Array math and comparisons: Matrix rank, most frequent values, contiguous blocks, and symmetrical 2D arrays (Exercises 60-70).
  8. Array operations and functions: Summing products, block-sums, Game of Life, and extracting largest values (Exercises 71-80).
  9. Array reshaping and subsetting: Creating specific arrays, matrix binary representation, and extracting unique rows (Exercises 81-90).
  10. Advanced NumPy functions: Record arrays, power calculations, einsum, sampling, multinomial draws, and bootstrapped confidence intervals (Exercises 91-100).

How You’ll Learn

This collection consists of 100 exercises. Thus, you’ll learn by going through the exercises provided in the Jupyter Notebooks, with hints and solutions provided. The exercises in this course generally involve quizzing you on certain topics, or have you calculate something with code.

Provider GitHub
Instructor Nicolas P. Rougier
Level None
Workload N/A
Stars 10K
Certificate None

Fun Facts

  • Readers with eagle eyes may recognize that the author of this course is in fact the same author as the one in the third ranking!

If you’re interested in this course, you can find more information about the course and how to enroll here.

Elham Nazif Profile Image

Elham Nazif

Part-time content writer, full-time computer science student.

Comments 1

  1. Jim

    @Elham, we’re in agreement that “Doing is the best way of learning.” So thanks for including your #10 pick, because the longest course in this Guide is merely 5 hours and some courses are passive (without any independent exercises). I also appreciate your explanations about why I should take each course, especially those noting certain considerations.

    Reply

Leave a reply

Your email address will not be published. All comments go through moderation, so your comment won't display immediately.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Browse our catalog

Discover thousands of free online courses from top universities around the world like MIT, Stanford, and Harvard.

Browse all subjects