Skip to content
Related Articles

Related Articles

Python | Pandas Series.nonzero() to get Index of all non zero values in a series
  • Last Updated : 30 Sep, 2019

Python is a great language for doing data analysis, primarily because of the fantastic ecosystem of data-centric Python packages. Pandas is one of those packages and makes importing and analyzing data much easier.

Pandas Series.nonzero() is an argument less method. Just like it name says, rather returning non zero values from a series, it returns index of all non zero values. The returned series of indices can be passed to iloc method and return all non zero values.

Syntax: Series.nonzero()
Return type: Array of indices

In this example, a Series is created from a Python List using Pandas Series() method. The series also contains some zero values. After that nonzero() method is called on series and the result is stored in result variable. The result series is then passed to iloc() method to return all non zero values at that indices.

# importing pandas module 
import pandas as pd 
# importing numpy module 
import numpy as np 
# creating list
list =[1, 0, 12, 1, 0, 4, 22, 0, 3, 9]
# creating series
series = pd.Series(list)
# calling .nonzero() method
result = series.nonzero()
# display
# retrieving values using iloc method
values = series.iloc[result]
# display


(array([0, 2, 3, 5, 6, 8, 9]), )
0     1
2    12
3     1
5     4
6    22
8     3
9     9
dtype: int64

As shown in output, the index position of every non zero elements was returned and the values at that position were returned using iloc method.

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course

My Personal Notes arrow_drop_up
Recommended Articles
Page :