· 3 min read

Learn NumPy Fast: 77 Flashcards on Arrays, Broadcasting and Linear Algebra

Learn NumPy with 77 flashcards: array creation, shape and dtype, slicing, boolean indexing, broadcasting, the axis parameter, ufuncs and np.linalg.

Flat illustration of a glowing lattice of cubes with one highlighted cell and arrows, surrounded by floating flashcards

Studying. But it's also a video game. 🎮

Flashcards, quizzes and games that make you actually remember.

Start playing — it's free

Posted by

NumPy is the layer everything else in the Python data stack sits on, which means most of it can be memorized as vocabulary: a few dozen function names, a handful of array attributes, and three or four concepts that actually need thinking about. Deck TZ3953 on Flip It splits exactly that way across 77 cards, and the fastest route through it is to attack the concepts and let the function names come along as recall drills.

Study this deck: NumPy Essentials

1 / 10
Question

NumPy

Knew itLearning

Tap the card for the answer · swipe right if you knew it, left if not

What the 77 cards cover

  • Creating arrays: np.array(), np.zeros(), np.ones(), np.arange(), np.linspace(), np.eye(), np.diag(), np.random.rand(), np.random.randn(), np.random.randint(), np.random.seed().
  • Inspecting them: .shape, .size, .ndim, .dtype, and why an ndarray is homogeneously typed.
  • Reshaping and joining: reshape(), flatten(), ravel(), transpose(), .T, np.concatenate(), np.vstack(), np.hstack(), np.split().
  • Maths and stats: ufuncs, np.sin(), np.exp(), np.sqrt(), np.sum(), np.mean(), np.std(), np.max(), np.min(), np.argmax(), np.argmin(), np.cumsum(), np.cumprod().
  • Indexing: arr[0], arr[row, col], arr[:5], arr[::2], arr[::-1], row and column slicing, boolean indexing, np.where().
  • Linear algebra: np.dot(), the @ operator, np.matmul(), np.linalg.inv(), np.linalg.solve(), np.linalg.eig(), np.linalg.norm().
  • Concepts: vectorization, broadcasting, the axis parameter, views versus copies, mutability, why NumPy beats lists, and the fact that many operations release the GIL.

Ten cards that carry the ideas

FrontBack
Vectorization in NumPyPerforming operations on entire arrays without explicit loops (much faster than Python loops)
BroadcastingNumPy's way of performing operations on arrays of different shapes by stretching the smaller array
What happens when you multiply two NumPy arrays?Element-wise multiplication (not matrix multiplication)
Perform matrix multiplicationUse np.dot(a, b) or a @ b (Python 3.5+)
np.arange() vs np.linspace()arange uses step size; linspace specifies number of points
Array.ravel()Returns a flattened array (may return a view, not always a copy)
a view vs a copyA view shares memory with the original array; a copy is independent
Axis parameterSpecifies which dimension to perform an operation along (axis=0 for columns, axis=1 for rows in 2D)
Boolean indexingUsing boolean arrays to select elements: arr[arr > 5] returns elements greater than 5
Does NumPy release the GIL?Yes, many NumPy operations release the global interpreter lock, allowing multithreading

Tip 1: group the cards by "does it touch the original array?"

Four cards in this deck are the ones that cause real bugs, and the shuffle will never show them together. Pull them into one block and review them as a single question: flatten() always returns a copy, ravel() may return a view, np.sort() returns a sorted copy, array.sort() sorts in place. Add array.copy() and the view-versus-copy card, and you have covered the most common way beginners silently mutate data they meant to preserve.

Tip 2: read axis as "the dimension that disappears"

The axis cards are memorized wrongly by almost everyone, because axis=0 is described as "columns" and people then expect it to move across columns. It does the opposite: np.sum(arr, axis=0) collapses the rows and leaves you one number per column. Whenever an axis card comes up, say the resulting shape out loud — for a (3, 4) array, axis=0 gives 4 values, axis=1 gives 3. Shapes are unambiguous where the words are not.

One cosmetic warning: the deck's fronts are sentence-cased, so you will see Np.zeros() and Np.linalg.inv(). In code it is always lowercase np — read the capital as a typography artifact and do not let it into your muscle memory.

Open deck TZ3953 (NumPy Essentials) in your library at flip-it.app. Once arrays feel automatic, the natural next step is the labelled-data layer built on top of them: Pandas Essentials Study Guide.

Ready to learn faster? 🚀

Join FLIP IT for free and turn studying into a game.

Create my free account