Geek Slack

Learn Numerical Python
    About Lesson



    NumPy Array Filter


    NumPy Array Filter

    NumPy provides powerful capabilities to filter elements within arrays based on specified conditions. This chapter covers how to filter arrays using Boolean indexing and the numpy.where() function.

    Filtering Arrays with Boolean Indexing

    You can filter elements in an array using Boolean indexing, which involves creating a Boolean array that specifies which elements to include.

    Example: Boolean Indexing

    import numpy as np
    
    arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
    
    # Create a Boolean array where elements are greater than 5
    filter_arr = arr > 5
    
    # Use the Boolean array to filter the original array
    filtered_arr = arr[filter_arr]
    
    print(filtered_arr)

    This code filters the array to include only elements greater than 5.

    Using numpy.where()

    The numpy.where() function can be used to filter elements based on a condition and can also be used to return indices where the condition is met.

    Example: Using numpy.where()

    import numpy as np
    
    arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
    
    # Get indices where elements are greater than 5
    indices = np.where(arr > 5)
    
    # Use the indices to filter the original array
    filtered_arr = arr[indices]
    
    print(filtered_arr)

    This code filters the array to include only elements greater than 5 using the numpy.where() function.

    Combining Multiple Conditions

    You can combine multiple conditions using logical operators to filter elements that meet all specified conditions.

    Example: Combining Multiple Conditions

    import numpy as np
    
    arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
    
    # Filter elements that are greater than 3 and less than 8
    filtered_arr = arr[(arr > 3) & (arr < 8)]
    
    print(filtered_arr)

    This code filters the array to include only elements that are greater than 3 and less than 8.

    Filtering Multi-Dimensional Arrays

    Filtering can also be applied to multi-dimensional arrays by specifying the condition for each element in the array.

    Example: Filtering Multi-Dimensional Arrays

    import numpy as np
    
    arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
    
    # Filter elements greater than 4
    filtered_arr = arr[arr > 4]
    
    print(filtered_arr)

    This code filters the multi-dimensional array to include only elements greater than 4.

    Conclusion

    NumPy provides efficient ways to filter elements within arrays using Boolean indexing and the numpy.where() function. These tools are essential for data analysis and manipulation tasks.