Advanced Numpy Techniques¶

General, user-friendly documentation with lots of examples.

Technical, "hard" reference.

Basic Python knowledge assumed.

CPython ~3.6, NumPy ~1.12

If you like content like this, you might be interested in my blog

What is it?¶

NumPy is an open-source package that's part of the SciPy ecosystem. Its main feature is an array object of arbitrary dimension, but this fundamental collection is integral to any data-focused Python application.

Most people learn numpy through assimilation or necessity. I believe NumPy has the latter learning curve (steep/easy to learn), so you can actually invest just a little bit of time now (by going through this notebook, for instance), and reap a lot of reward!

Provide a uniform interface for handling numerical structured data

Collect, store, and manipulate numerical data efficiently

Low-cost abstractions

Universal glue for numerical information, used in lots of external libraries! The API establishes common functions and re-appears in many other settings with the same abstractions.

Goals and Non-goals¶

What I'll do:

Give a bit of basics first.

Describe NumPy, with under-the-hood details to the extent that they are useful to you, the user

Highlight some [GOTCHA]s, avoid some common bugs

Point out a couple useful NumPy functions

This is not an attempt to exaustively cover the reference manual (there's too many individual functions to keep in your head, anyway).

Instead, I'll try to...

provide you with an overview of the API structure so next time you're doing numeric data work you'll know where to look

convince you that NumPy arrays offer the perfect data structure for the following (wide-ranging) use case:

RAM-sized general-purpose structured numerical data applications: manipulation, collection, and analysis.