Essential Concepts

Each concept explains the general idea and sends you to an official page where you can inquire more about the technique.

Array Creation

Make arrays from Python lists, from ranges (arange), from evenly spaced values (linspace), or as blank shapes (zeros, ones, empty). You can also load from your files or use random numbers for practice. Picking the right starting shape saves time later.
Read more here

Indexing & Slicing

Choose rows and columns, pick positions, or filter by a condition (a boolean mask). You can also add a new dimension when needed. Most “how do I select…? ” questions are solved here.
Read more here

Data Types (dtypes)

Every array has one dtype (for example, whole numbers or decimals). The data type affects speed, memory, and results. You can change it with .astype(...). Mixed or unexpected types cause confusing output.
Read more here

Broadcasting

Arrays with size‑1 dimensions can “stretch” so math works across different shapes (for example, adding a 1×4 row to a 3×4 table). This replaces many loops and explains most “shapes don’t match” errors.
Read more here

Copies vs Views

A view is a window onto the same data (fast, no extra memory). A copy is a separate array. Slices are usually views. Changing a view can also change the original. Use .copy() when you need independence.
Read more here

I/O with NumPy

Load and save small text/CSV‑like files (loadtxt, genfromtxt, savetxt). Bigger binary formats are also available. Moving data in and out is part of almost every assignment.
Read more here

Universal Functions (ufuncs)

Built-in, fast functions that act on each element (math, comparisons, logic). They automatically work with broadcasting. These are the building blocks for most array computations.
Read more here

Strings & Bytes

Arrays can store short text or bytes. Newer NumPy also has a variable‑width string type. Use when your array includes labels or small text.

Read more here

Structured Arrays

Table‑like arrays with named columns and different types for each column. Use when you need record‑style data layouts inside NumPy.

Read more here