• $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
Preview
02 What is NumPy?
Preview
03 Installing NumPy
04 Importing NumPy

Section 2: Basic NumPy arrays

NumPy course, section 2.ipynb
05 What is a NumPy array?
06 Creating NumPy arrays
Preview
07 Exercises 1
exercises-1.txt
08 Exercise solutions 1
09 Generating random arrays
09a Random seeds.mp4
10 Vectorized operations.mp4
11 Vectorized operations with two arrays.mp4
12 Commonly used methods.mp4
13 Exercises 2.mp4
exercises-2.txt
14 Exercise solutions 2.mp4

Section 3: Indexing

NumPy course, section 3.ipynb
15 Fancy indexing.mp4
16 Boolean indexing.mp4
17 Views vs copies.mp4
Preview
18 Selecting with boolean indexes.mp4
19 Evens and odds.mp4
20 Exercises 3.mp4
exercises-3.txt
21 Exercise solutions 3.mp4
22 Complex conditions.mp4
23 Exercises 4.mp4
exercises-4.txt
24 Exercise solutions 4.mp4
25 Assigning via indexes.mp4
26 Exercises 5.mp4
exercises-5.txt
27 Exercise solutions 5.mp4

Section 4: Data types

NumPy course, section 4.ipynb
28 dtypes
29 Setting dtypes
30 Setting the dtype attribute
31 Using astype
32 String lengths
33 Exercises 6
exercises-6.txt
34 Exercise solutions 6
35 Complex numbers.mp4
36 Booleans vs. integers.mp4
37 Setting print options.mp4

Section 5: nan

NumPy course, section 5.ipynb
38 The need for nan.mp4
39 Filtering with isnan.mp4
40 Making sure that nan will work in your array.mp4
41 Replacing nan values with the mean.mp4
42 Exercises 7.mp4
exercises-7.txt
43 Exercise solutions 7.mp4
44 inf and nan.mp4

Section 6: Multidimensional NumPy

NumPy course, section 6.ipynb
45 Array shapes.mp4
46 Multi-dimensional retrievals.mp4
47 Exercises 8.mp4
exercises-8.txt
48 Exercise solutions 8.mp4
49 Assigning to 2d arrays.mp4
50 Axes and NumPy methods.mp4
51 argmin and argmax.mp4
52 Flattening arrays.mp4
53 Transposing.mp4
54 Sorting.mp4
55 Concatenating arrays.mp4
56 Exercises 9
exercises-9.txt
57 Exercise solutions 9

Section 7: Input and output

58 Intro to NumPy IO
59 Storing with np.save
60 Loading with np.load
61 mmap_mode
62 Saving and loading npz
63 Storing CSV files with np.savetxt
64 Loading CSV files with np.loadtxt
65 Exercises 10.mp4
NumPy course, section 7.ipynb
66 Exercise solutions 10.mp4

Section 8: Matplotlib

NumPy course, section 8.ipynb
67 Intro to Matplotlib.mp4
68 Basic plots.mp4
69 Format strings.mp4
70 Bar plots.mp4
71 Histograms.mp4
72 Pie plots.mp4
73 Exercises 11.mp4
exercises-11.txt
cisco_stock.csv
74 Exercise solutions 11.mp4

Section 9: Conclusion

Conclusion

PDFs of slides

01 Data science intro
02 Jupyter notebook
03 NumPy
04 NumPy indexes
05 NumPy's nan
06 NumPy and multidimensional arrays
07 NumPy and input-output

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