• $240

NumPy

Unlock the power of data science in Python 

Get this course, and many others, as part of my LernerPython membership, at https://LernerPython.com.

NumPy: The efficiency of C, the ease of Python

As you know, data science is super hot.  Whether you're analyzing data,  working as an engineer, or creating fancy machine-learning models, your job likely involves all sorts of mathematical operations.  

This sort of work requires fast, efficient processing. And thus, for years, people used the fastest-executing programming languages they could find — C, C++, and Java.  In many cases, they used specialized languages and tools, such as Matlab, which did the job but cost quite a lot.

In the last few years, Python has become the #1 language in data science.  This puzzles a lot of people, since Python is known for being friendly, but not for being efficient.

The key to this change is NumPy.  NumPy is a library that puts a thin Python shell over C arrays.  You thus get the ease of use of Python, but the efficiency (in both space and time) of C.  

What's the problem, then?

Not surprisingly, NumPy is wildly popular.  But learning to use it can take a bit of time, because it works so differently from built-in Python data structures.  Even if you're a master at Python's lists, tuples, and dictionaries, NumPy requires that you think in different ways. 

For example, Python lists can contain any type of data.  But NumPy arrays, because they're built on top of C, have a "dtype" associated with the entire array, describing what type of data they can (and cannot) hold.  Learning what types are available, and how to choose from among them, can take some time.

About this course

I've been teaching NumPy to companies around the world for close to a decade, and I've been teaching Python for even longer than that.  This course is a version of what I teach in to engineers in some of the world's most famous companies — but available to anyone with an Internet connection, and a desire to learn.

In 75 lessons and 60 exercises, I take you through each part of NumPy that you need in order to use it effectively.  I show you not just how to use NumPy, but why to use it, and in what ways you can use it more effectively.

After you take this course, you'll have a powerful new tool in your toolbox.  You'll be ready to take on data-analysis challenges in your current job, as well as apply for more challenging jobs down the line.

  • If you've heard that data science is exciting, but haven't had the tools yet to break into this hot area, then this NumPy course is the first step you need to take.
  • If you're a data scientist moving to Python from Matlab, Java, or C++, then this course will teach you the ins and outs of working with NumPy, to accomplish the same things as you did before but with far less code.
  • If you're a Python developer who wants to understand why everyone is always talking about NumPy, and possibly use it in your projects, then this course is for you.

Who am I?

I'm Reuven Lerner, a professional Python trainer.  I've been using Python since 1993, and have been teaching people to use it for more than two decades.

Just about every day, I travel to a different city, country, and company teaching engineers how to use Python.  My clients include:
  • Apple
  • ARM
  • Cisco
  • IBM
  • Intel
  • PayPal
  • VMWare
  • Western Digital

This course is a version of what I've taught numerous times around the world.  If you don't work for such a company, but want to benefit from the sort of training that they order for their engineers, then I'm confident this course will help you.

Money-back guarantee

I'm confident that you'll get a ton out of this NumPy course.  If you don't, then just e-mail me, and I'll refund your money.  No time limit, either — I trust that you're reasonable.

Frequently asked questions

How much Python do I need to know in order to take this course?

You actually don't need to know that much Python.  If you're comfortable with basic data types (ints, lists, tuples, strings, and dicts), then you're definitely ready.

That said, you'll get the most out of NumPy if you also have a good grounding in Python.  And so I'd suggest that you not only learn NumPy, but that you try to get a broader understanding of Python.  It'll help quite a bit, I promise!

What version of Python does the course use?

The latest one as of this writing, Python 3.7.  

What about Pandas?

I'm developing a separate (but similar) course about Pandas.  That said, you need to know NumPy in order to work with Pandas.  So this course will be a prerequisite for that one.

Are there any discounts available?

Yes, there are 3 discount options:

  • If you’re a student or pensioner, you get 20% off
  • If you live in any country outside the 30 wealthiest countries in the world, you can get a discount (email me for exact discount percentage)

If you’re eligible for any of these discounts, contact me via e-mail, and I'll be delighted to provide you with the appropriate coupon code.

What if I have other questions?

Then just e-mail me, at reuven@lerner.co.il .  I'll be happy to answer!

Contents

Section 1: Introduction

An introduction to this course, and to NumPy and Pandas in general.
01 Welcome.mov
  • 2 mins
  • 72 MB
Preview
02 What is NumPy?
  • 7 mins
  • 1.54 GB
Preview
03 Installing NumPy
  • 10 mins
  • 225 MB
04 Importing NumPy
  • 7 mins
  • 142 MB

Section 2: Basic NumPy arrays

NumPy course, section 2.ipynb
  • 49.5 KB
05 What is a NumPy array?
  • 5 mins
  • 115 MB
06 Creating NumPy arrays
  • 9 mins
  • 190 MB
Preview
07 Exercises 1
  • 1 min
  • 19.5 MB
exercises-1.txt
  • 291 Bytes
08 Exercise solutions 1
  • 3 mins
  • 54.7 MB
09 Generating random arrays
  • 5 mins
  • 98.1 MB
09a Random seeds.mp4
  • 3 mins
  • 64.5 MB
10 Vectorized operations.mp4
  • 6 mins
  • 119 MB
11 Vectorized operations with two arrays.mp4
  • 3 mins
  • 68.2 MB
12 Commonly used methods.mp4
  • 5 mins
  • 103 MB
13 Exercises 2.mp4
  • 2 mins
  • 42.2 MB
exercises-2.txt
  • 471 Bytes
14 Exercise solutions 2.mp4
  • 5 mins
  • 98.2 MB

Section 3: Indexing

NumPy course, section 3.ipynb
  • 34.8 KB
15 Fancy indexing.mp4
  • 4 mins
  • 81.7 MB
16 Boolean indexing.mp4
  • 3 mins
  • 49.5 MB
17 Views vs copies.mp4
  • 6 mins
  • 122 MB
Preview
18 Selecting with boolean indexes.mp4
  • 6 mins
  • 135 MB
19 Evens and odds.mp4
  • 3 mins
  • 70.1 MB
20 Exercises 3.mp4
  • 2 mins
  • 24.9 MB
exercises-3.txt
  • 327 Bytes
21 Exercise solutions 3.mp4
  • 4 mins
  • 77.8 MB
22 Complex conditions.mp4
  • 7 mins
  • 153 MB
23 Exercises 4.mp4
  • 1 min
  • 17.8 MB
exercises-4.txt
  • 224 Bytes
24 Exercise solutions 4.mp4
  • 4 mins
  • 88.5 MB
25 Assigning via indexes.mp4
  • 4 mins
  • 76.6 MB
26 Exercises 5.mp4
  • 1 min
  • 23.3 MB
exercises-5.txt
  • 422 Bytes
27 Exercise solutions 5.mp4
  • 5 mins
  • 107 MB

Section 4: Data types

NumPy course, section 4.ipynb
  • 41.5 KB
28 dtypes
  • 8 mins
  • 186 MB
29 Setting dtypes
  • 7 mins
  • 150 MB
30 Setting the dtype attribute
  • 4 mins
  • 89.9 MB
31 Using astype
  • 4 mins
  • 75.1 MB
32 String lengths
  • 3 mins
  • 66.8 MB
33 Exercises 6
  • 2 mins
  • 24.7 MB
exercises-6.txt
  • 415 Bytes
34 Exercise solutions 6
  • 5 mins
  • 98.3 MB
35 Complex numbers.mp4
  • 3 mins
  • 66.7 MB
36 Booleans vs. integers.mp4
  • 3 mins
  • 65.7 MB
37 Setting print options.mp4
  • 5 mins
  • 107 MB

Section 5: nan

NumPy course, section 5.ipynb
  • 28.2 KB
38 The need for nan.mp4
  • 7 mins
  • 149 MB
39 Filtering with isnan.mp4
  • 5 mins
  • 116 MB
40 Making sure that nan will work in your array.mp4
  • 3 mins
  • 60 MB
41 Replacing nan values with the mean.mp4
  • 3 mins
  • 62.7 MB
42 Exercises 7.mp4
  • 1 min
  • 14.8 MB
exercises-7.txt
  • 214 Bytes
43 Exercise solutions 7.mp4
  • 3 mins
  • 61.5 MB
44 inf and nan.mp4
  • 5 mins
  • 201 MB

Section 6: Multidimensional NumPy

NumPy course, section 6.ipynb
  • 72.7 KB
45 Array shapes.mp4
  • 10 mins
  • 228 MB
46 Multi-dimensional retrievals.mp4
  • 7 mins
  • 157 MB
47 Exercises 8.mp4
  • 2 mins
  • 24.4 MB
exercises-8.txt
  • 374 Bytes
48 Exercise solutions 8.mp4
  • 5 mins
  • 106 MB
49 Assigning to 2d arrays.mp4
  • 7 mins
  • 154 MB
50 Axes and NumPy methods.mp4
  • 6 mins
  • 137 MB
51 argmin and argmax.mp4
  • 5 mins
  • 112 MB
52 Flattening arrays.mp4
  • 4 mins
  • 92.3 MB
53 Transposing.mp4
  • 3 mins
  • 55.2 MB
54 Sorting.mp4
  • 6 mins
  • 128 MB
55 Concatenating arrays.mp4
  • 5 mins
  • 97.5 MB
56 Exercises 9
  • 2 mins
  • 23.7 MB
exercises-9.txt
  • 461 Bytes
57 Exercise solutions 9
  • 4 mins
  • 92.8 MB

Section 7: Input and output

58 Intro to NumPy IO
  • 4 mins
  • 90.9 MB
59 Storing with np.save
  • 6 mins
  • 129 MB
60 Loading with np.load
  • 4 mins
  • 94.8 MB
61 mmap_mode
  • 5 mins
  • 95.4 MB
62 Saving and loading npz
  • 6 mins
  • 122 MB
63 Storing CSV files with np.savetxt
  • 5 mins
  • 116 MB
64 Loading CSV files with np.loadtxt
  • 5 mins
  • 94.7 MB
65 Exercises 10.mp4
  • 1 min
  • 15.8 MB
NumPy course, section 7.ipynb
  • 51.4 KB
66 Exercise solutions 10.mp4
  • 4 mins
  • 79.1 MB

Section 8: Matplotlib

NumPy course, section 8.ipynb
  • 164 KB
67 Intro to Matplotlib.mp4
  • 4 mins
  • 84.4 MB
68 Basic plots.mp4
  • 5 mins
  • 94.6 MB
69 Format strings.mp4
  • 4 mins
  • 77 MB
70 Bar plots.mp4
  • 4 mins
  • 71 MB
71 Histograms.mp4
  • 2 mins
  • 45.1 MB
72 Pie plots.mp4
  • 2 mins
  • 46.9 MB
73 Exercises 11.mp4
  • 2 mins
  • 24.8 MB
exercises-11.txt
  • 440 Bytes
cisco_stock.csv
  • 1.3 KB
74 Exercise solutions 11.mp4
  • 5 mins
  • 113 MB

Section 9: Conclusion

Conclusion
  • 2 mins
  • 49.6 MB

PDFs of slides

01 Data science intro
  • 386 KB
02 Jupyter notebook
  • 269 KB
03 NumPy
  • 96 KB
04 NumPy indexes
  • 45.5 KB
05 NumPy's nan
  • 36.2 KB
06 NumPy and multidimensional arrays
  • 37.4 KB
07 NumPy and input-output
  • 34.7 KB

Testimonials

I think you have an exceedingly rare crystal clear explanation of all things Python.

I really liked the way you went slow and explained everything in microscopic detail, acknowledging where the NumPy syntax is non-intuitive.

So many tutorials dive in and start piling on statements and commands, never really acknowledging that the syntax is unusual and a departure from regular Python syntax.  So as a non-pro Python person, I'm not worrying about whether my confusion comes from lack of fluency of Python (which I'm relieved to say it didn't) or from inexperience with Numpy (definitely the case, which you were able to elucidate).

David Punsalan

 This course was really useful. I got both the concept and systematic 
 understanding of the library.

I wish to have more hands on exercises and maybe a bit more complex tasks as a part of the learning process.

New knowledge already helped me much with my task at work.

Alexander Chilingaryan

I enjoyed the whole course. It was very engaging, helping me to gain deeper insights into NumPy, which shall  definitely help me step into the world of Data Science using Python.

I highly recommend this course to anyone who want to be Data Science aspirants.

Ashok Bharat