To substitute infinite and NaN values, the condition can be modified as follows:
import numpy as np
arr = np.array([1, 3, 0, 5, np.nan, np.inf, -np.inf])
# substitute NaN with 0
arr[np.isnan(arr)] = 0
# substitute infinite values with large finite value (e.g. 10^9)
arr[np.isinf(arr)] = 10**9
print(arr)
Output:
[1.e+00 3.e+00 0.e+00 5.e+00 0.e+00 1.e+09 1.e+09]
This code substitutes NaN values with 0 and infinite values with a large finite value (e.g. 10^9).
Asked: 2022-12-29 11:00:00 +0000
Seen: 8 times
Last updated: Aug 12 '21