×

Python Tutorial

Python Basics

Python I/O

Python Operators

Python Conditions & Controls

Python Functions

Python Strings

Python Modules

Python Lists

Python OOPs

Python Arrays

Python Dictionary

Python Sets

Python Tuples

Python Exception Handling

Python NumPy

Python Pandas

Python File Handling

Python WebSocket

Python GUI Programming

Python Image Processing

Python Miscellaneous

Python Practice

Python Programs

How to find first non-zero value in every column of a NumPy array?

Learn, how to find first non-zero value in every column of a NumPy array in Python? By Pranit Sharma Last updated : December 23, 2023

NumPy is an abbreviated form of Numerical Python. It is used for different types of scientific operations in python. Numpy is a vast library in python which is used for almost every kind of scientific or mathematical operation. It is itself an array which is a collection of various methods and functions for processing the arrays.

Problem statement

Suppose that we are given a numpy array and we need to find the indices of the first index (for every column) where the value is non-zero.

Finding the first non-zero value in every column of a NumPy array

For this purpose, we will define a function inside which we can use numpy.argmax() along that axis (zeroth axis for columns here) on the mask of non-zeros to get the indices of first matches.

Let us understand with the help of an example,

Python code to find first non-zero value in every column of a NumPy array

# Import numpy
import numpy as np

# Creating a numpy array
arr = np.array([[1,1,0],[1,-1,0],[1,0,0],[1,1,0]])

# Display original array
print("Original Array:\n",arr,"\n")

# Defining a function
def fun(arr, axis, invalid_val=-1):
    mask = arr!=0
    return np.where(mask.any(axis=axis), mask.argmax(axis=axis), invalid_val)

# Calling the function
res = fun(arr, 0)

# Display result
print("Result:\n",res,"\n")

Output

Example: How to find first non-zero value in every column of a NumPy array?

Python NumPy Programs »

Advertisement
Advertisement

Comments and Discussions!

Load comments ↻


Advertisement
Advertisement
Advertisement

Copyright © 2025 www.includehelp.com. All rights reserved.