:return:
a = np.ravel(array)
maxi = np.nanmax((filter(lambda x: x != float("inf"), a))
)// Max except NaN and Inf
mini = np.nanmin((filter(lambda x: x != float("-inf"), a))
) // Mini except NaN and Inf
array[array == float("inf")] = maxi
After Change
//mini = np.nanmin((filter(lambda x: x != float("-inf"), a))// ) // Mini except NaN and Inf
maxi = np.nanmax(a[np.isfinite(a)])
mini = np.nanmin(a[np.isfinite(a)])
array[array == float("inf")] = maxi
array[array == float("-inf")] = mini
mid = (maxi + mini) / 2
array[np.isnan(array)] = mid