The Numpy library in Python comes with a number of built-in functions to manipulate the data in arrays. In this tutorial, we will look at a function that helps us set all the values in a Numpy array to nan.
How to set all values to nan in Numpy?
You can use the numpy.ndarray.fill()
function to set all the values in a Numpy array to nan. Pass numpy.nan
as the argument (this is the value used to fill all the values in the array).
The following is the syntax –
# set all values in numpy array ar to nan ar.fill(np.nan)
It modifies the array in-place, filling each value with nan (the passed value).
Let’s now look at a step-by-step example of using the above function.
Step 1 – Create a Numpy array
First, we will create a Numpy array that we will use throughout this tutorial.
import numpy as np # create a numpy array ar = np.array([-2, -1, 0, 1, 2, 3, -4.1]) # display the array print(ar)
Output:
[-2. -1. 0. 1. 2. 3. -4.1]
Here, we used the numpy.array()
function to create a Numpy array containing some numbers.
Introductory ⭐
- Harvard University Data Science: Learn R Basics for Data Science
- Standford University Data Science: Introduction to Machine Learning
- UC Davis Data Science: Learn SQL Basics for Data Science
- IBM Data Science: Professional Certificate in Data Science
- IBM Data Analysis: Professional Certificate in Data Analytics
- Google Data Analysis: Professional Certificate in Data Analytics
- IBM Data Science: Professional Certificate in Python Data Science
- IBM Data Engineering Fundamentals: Python Basics for Data Science
Intermediate ⭐⭐⭐
- Harvard University Learning Python for Data Science: Introduction to Data Science with Python
- Harvard University Computer Science Courses: Using Python for Research
- IBM Python Data Science: Visualizing Data with Python
- DeepLearning.AI Data Science and Machine Learning: Deep Learning Specialization
Advanced ⭐⭐⭐⭐⭐
- UC San Diego Data Science: Python for Data Science
- UC San Diego Data Science: Probability and Statistics in Data Science using Python
- Google Data Analysis: Professional Certificate in Advanced Data Analytics
- MIT Statistics and Data Science: Machine Learning with Python - from Linear Models to Deep Learning
- MIT Statistics and Data Science: MicroMasters® Program in Statistics and Data Science
🔎 Find Data Science Programs 👨💻 111,889 already enrolled
Disclaimer: Data Science Parichay is reader supported. When you purchase a course through a link on this site, we may earn a small commission at no additional cost to you. Earned commissions help support this website and its team of writers.
Step 2 – Set each value to nan using numpy.ndarray.fill()
Apply the numpy.ndarray.fill()
function on the array and pass numpy.nan
as the parameter to set each value to nan in the array.
Let’s apply this function to the array created above.
# set all values to nan ar.fill(np.nan) # display the array ar
Output:
array([nan, nan, nan, nan, nan, nan, nan])
You can see that each value in the array ar
is now nan.
Note that if all the values in the array are of integer type, using the above method will fill the array with zeros instead of nans.
# create a numpy array ar = np.array([-2, -1, 0, 1, 2, 3, -4]) # set all values to nan ar.fill(np.nan) # display the array ar
Output:
array([0, 0, 0, 0, 0, 0, 0])
This happens because np.nan
is of float
type which is being used to fill an integer array.
In order to prevent this behavior and fill the array with nans, first convert the array to float
type and then apply the numpy.ndarray.fill()
function.
# create a numpy array ar = np.array([-2, -1, 0, 1, 2, 3, -4]) # convert to float ar = ar.astype('float') # set all values to nan ar.fill(np.nan) # display the array ar
Output:
array([nan, nan, nan, nan, nan, nan, nan])
Now all the values in the array are nan.
You might also be interested in –
- Numpy – Get the Sign of Each Element in Array
- Get the Median of Numpy Array – (With Examples)
- Numpy – Get Standard Deviation of Array Values
- Numpy – Get Min Value in Array
Subscribe to our newsletter for more informative guides and tutorials.
We do not spam and you can opt out any time.