Open In App

numpy.isinf() in Python

Last Updated : 21 Jun, 2025
Suggest changes
Share
Like Article
Like
Report

numpy.isinf() test element-wise whether a value is positive or negative infinity. It returns a Boolean array with True where the input is either +inf or -inf and False otherwise. Example:

Python
import numpy as np a = np.array([1, np.inf, -np.inf, 0, np.nan]) res = np.isinf(a) print(res) 

Output
[False True True False False] 

Explanation: np.isinf() checks each element in array a for positive or negative infinity, returning True for infinite values and False for all others, including numbers and np.nan.

Syntax

numpy.isinf(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])

Parameter:

Parameter

Description

x

Input array or scalar

out

A location where the result is stored (optional)

where

Condition over input array for performing the check (optional)

Returns: A Boolean array of the same shape as x, with True at positions where the element is infinite (inf or -inf) and False elsewhere.

Examples

Example 1: In this example, we check for positive (np.inf) and negative infinity (-np.inf) and return True for both and False for all other values, including nan.

Python
import numpy as np a = np.array([1, np.inf, -np.inf, 0, np.nan]) res = np.isinf(a) print(res) 

Output
[False True True False False] 

Explanation: np.isinf() check each element in array a for positive or negative infinity. It returns True for infinite values and False for others, including numbers and np.nan.

Example 2: In this example, we divide 1.0 by each element of the array. Division by zero gives np.inf, and np.isinf() returns True only for that value.

Python
import numpy as np a = np.array([1.0, 0.0, -1.0]) b = 1.0 / a res = np.isinf(b) print(b) print(res) 

Output

[ 1. inf -1.]
[False True False]

Explanation: Division by 0.0 produces inf. np.isinf() detects that and marks only that value as True.

Example 3: In this example, we filter out positive and negative infinity using ~np.isinf() and return only the finite values.

Python
import numpy as np a = np.array([10, np.inf, -np.inf, 20]) res = a[~np.isinf(a)] print(res) 

Output
[10. 20.] 

Explanation: We use the bitwise NOT (~) to reverse the Boolean mask from np.isinf(), keeping only non-infinite values.

Example 4: In this example, we use the out and where parameters to store the result in a separate array and check for infinity only where the values are not zero.

Python
import numpy as np a = np.array([np.inf, 2, 0, -np.inf]) out_arr = np.zeros_like(a, dtype=bool) np.isinf(a, out=out_arr, where=(a != 0)) print(out_arr) 

Output
[ True False False True] 

Explanation: We store the result in out_arr and apply the check only where the condition a != 0 is True. This avoids checking for inf on zero values.
  


Similar Reads