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.

Studying. But it's also a video game. 🎮
Flashcards, quizzes and games that make you actually remember.
Posted by
Related reading
Data Visualization Flashcards: Memorize Tufte's Rules, Color Theory and 15 Chart Types
Learn data visualization with 41 flashcards: data-ink ratio, lie factor, preattentive attributes, color schemes, Sankey, treemap, violin plots and D3.js.
Learn Deep Learning with 66 Flashcards: From the Perceptron to Diffusion Models
Learn deep learning with 66 real flashcards: CNNs, LSTMs, Transformers, backpropagation, ResNet and diffusion, plus a timeline fix and the missing foundation cards.
Remember Every Machine Learning Metric: 75 Flashcards on Algorithms, Loss Functions and Evaluation
Study machine learning with 75 flashcards: precision, recall, F1, ROC and AUC, bagging vs boosting, L1 vs L2, gradient descent, plus the metrics missing.
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 / 10NumPy
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
| Front | Back |
|---|---|
| Vectorization in NumPy | Performing operations on entire arrays without explicit loops (much faster than Python loops) |
| Broadcasting | NumPy'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 multiplication | Use 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 copy | A view shares memory with the original array; a copy is independent |
| Axis parameter | Specifies which dimension to perform an operation along (axis=0 for columns, axis=1 for rows in 2D) |
| Boolean indexing | Using 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.