Python Tutorial

NumPy Array Slicing

Slice with start:stop:step. The stop index is excluded. Slices of arrays are usually views, not copies.

1D Slices

import numpy as np

arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
print(arr[1:5])     # [1 2 3 4]
print(arr[:4])      # [0 1 2 3]
print(arr[::2])     # [0 2 4 6 8]
print(arr[::-1])    # reversed

2D Slices

m = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
print(m[0, 1:3])    # [2 3]
print(m[:, 1])      # second column: [2 6]
print(m[0:2, 0:2])  # top-left 2x2

Step

print(arr[1:8:2])   # [1 3 5 7]

Views

Changing a slice often changes the original array. Use .copy() if you need a separate block of memory (next chapters cover copy vs view).

📘 Real-World Deep Dive

Knowing <strong>NumPy Slicing (NumPy)</strong> well is what turns NumPy from a curiosity into a daily tool — you'll reach for it in nearly every real project.

Real-Life Scenario

An end-to-end usage of NumPy Slicing that you'd actually see in a data pipeline or analytics notebook.

Real-Life Example

import numpy as np
img = np.arange(36).reshape(6, 6)
patch = img[1:5, 1:5]                # central 4×4
print(patch)
print("every second row:", img[::2])

Expected Output

(see source)

Common mistakes

  • NumPy uses 0-based, C-order indexing — the rightmost axis is the *fastest-varying* one. Mixing it with Fortran-order arrays is a common surprise.
  • np.array([[1,2],[3,4]], dtype=int) is fine, but a ragged Python list produces dtype=object and silently disables vectorisation.
  • In-place ops (a *= 2) sometimes break views instead of returning a new array; use np.multiply(a, 2, out=...) if explicitness matters.
  • Treating NumPy Slicing as a black box without reading the docs — the API has subtle defaults that bite when you scale.

🚀 Performance & Best Practices

  • Vectorise: replace Python for loops with ufuncs; you can expect 10–100× speedups.
  • Pre-allocate output arrays with np.empty instead of growing them with np.append.
  • Keep data in float32 unless you need float64 precision — half the memory, double the cache locality.
  • When working with NumPy, prefer vectorised / batched operations over Python loops.

🧪 Try It Yourself

  1. Reproduce the snippet on a representative slice of your own data.
  2. Profile the snippet with cProfile or timeit and find the single biggest improvement.
  3. Generalise the snippet into a small, reusable function you can drop into future projects.

FAQ: NumPy Array Slicing

Common questions about this page.

What is NumPy Array Slicing?

NumPy Array Slicing is a NumPy lesson that explains numpy array slicing in NumPy. Slice with start:stop:step. The stop index is excluded. Slices of arrays are usually views, not copies. Copy the samples and run them in the NumPy editor. It is written for beginners who want a clear definition and working examples.

Should I run numpy array slicing examples locally for better learning?

Yes. Use the browser editor on StudyGrid for a quick check, then Download the example and run it on your computer. Local runs show real errors and the real toolchain, which is one of the fastest ways to learn numpy array slicing in this NumPy NumPy lesson (NumPy Array Slicing).

How do I use numpy array slicing in NumPy?

To use numpy array slicing in NumPy, follow the examples on this StudyGrid page. Copy a snippet, run it in the browser, then Download and run it locally for better learning. Change the values and compare the output.

What is the syntax of numpy array slicing?

This NumPy Array Slicing tutorial shows numpy array slicing syntax with short NumPy examples. Use the code blocks in this lesson for the exact statements, then try them in your editor.

NumPy Array Slicing example for beginners

Yes. This page includes a beginner numpy array slicing example you can copy and run. It is designed for searches such as "numpy array slicing for beginners", "numpy array slicing example", and "how to use numpy array slicing".

What are common mistakes with numpy array slicing?

Common numpy array slicing mistakes include wrong syntax, mixing types, and skipping practice. Work through this NumPy chapter in order, run every example, and check the output before moving on.

Why should I learn numpy array slicing?

NumPy Array Slicing is used in real NumPy work. Learning numpy array slicing helps you write clearer programs and continue the NumPy tutorial on StudyGrid.

Is NumPy Array Slicing free to learn online?

Yes. You can learn numpy array slicing free on StudyGrid (studygrid.in). This chapter is part of the NumPy path and includes examples, syntax, and next-step links.