Yandex

Course IndexCourse Index0

    ProgramGuru

    Array Element Modifications in NumPy
    Examples


    NumPy arrays aren't just static collections of data. One of their greatest strengths is how easily you can modify elements in-place—quickly and efficiently. In this tutorial, we’ll break down how to change array values using indexing, slicing, and logical conditions.

    Step 1: Creating a Sample Array

    Let’s begin by creating a simple NumPy array that we’ll use throughout this lesson.

    import numpy as np
    
    arr = np.array([10, 20, 30, 40, 50])
    print("Original array:", arr)
    Original array: [10 20 30 40 50]

    Step 2: Modifying a Single Element by Index

    To change a single value in the array, you can directly access it using its index.

    arr[2] = 99
    print("After modifying index 2:", arr)
    After modifying index 2: [10 20 99 40 50]

    Notice how only the element at index 2 was updated. NumPy arrays are mutable—so changes apply directly.

    Step 3: Modifying Multiple Elements with Slicing

    You can modify a range of values using slicing. Slicing works on both 1D and multi-dimensional arrays.

    arr[1:4] = [21, 31, 41]
    print("After slicing and modifying:", arr)
    After slicing and modifying: [10 21 31 41 50]

    Important Note: The number of replacement values must exactly match the number of elements in the slice. Otherwise, NumPy will raise a ValueError.

    Step 4: Conditional Modifications (Boolean Masking)

    Let’s say we want to increase all values less than 30 by 5. This is where NumPy really shines.

    arr[arr < 30] += 5
    print("After conditional update:", arr)
    After conditional update: [15 26 31 41 50]

    This is fast and expressive: no loops, just a vectorized condition.

    Step 5: Replacing Values with np.where()

    To replace values based on a condition, use np.where(). Here's how to replace values greater than 40 with 100:

    arr = np.where(arr > 40, 100, arr)
    print("After using np.where:", arr)
    After using np.where: [15 26 31 41 100]

    Values > 40 become 100, others stay the same.

    Step 6: Modifying Elements in 2D Arrays

    For multi-dimensional arrays, element access involves row and column indices.

    matrix = np.array([[1, 2, 3], [4, 5, 6]])
    matrix[1, 2] = 99
    print("Updated matrix:\n", matrix)
    Updated matrix:
    [[ 1  2  3]
    [ 4  5 99]]

    Use a comma to separate row and column indices. This is the preferred style for readability and speed.

    Things to Watch Out For

    • Make sure data types match—NumPy enforces them strictly. Assigning a float to an int array will truncate the decimal.
    • If you slice an array and modify it, it affects the original array (views, not copies).
    • Use copy() if you want to avoid modifying the original data.

    Wrap Up

    One of the first things you'll notice with NumPy is how easily you can change array values. Whether you're modifying a single element or reshaping thousands of data points at once, the tools feel natural. This simplicity is a big reason why NumPy is a favorite in fields like data science, image processing, and numerical modeling.

    You spend less time wrestling with syntax and more time focusing on what matters: exploring patterns, refining models, and solving real problems with clean, efficient code.



    Welcome to ProgramGuru

    Sign up to start your journey with us

    Support ProgramGuru.org

    You can support this website with a contribution of your choice.

    When making a contribution, mention your name, and programguru.org in the message. Your name shall be displayed in the sponsors list.

    PayPal

    UPI

    PhonePe QR

    MALLIKARJUNA M