nan_to_num#
- ivy.nan_to_num(x, /, *, copy=True, nan=0.0, posinf=None, neginf=None, out=None)[source]#
Replace NaN with zero and infinity with large finite numbers (default behaviour) or with the numbers defined by the user using the nan, posinf and/or neginf keywords.
- Parameters:
x (
Union[Array,NativeArray]) – Array input.copy (
bool, default:True) – Whether to create a copy of x (True) or to replace values in-place (False). The in-place operation only occurs if casting to an array does not require a copy. Default is True.nan (
Union[float,int], default:0.0) – Value to be used to fill NaN values. If no value is passed then NaN values will be replaced with 0.0.posinf (
Optional[Union[int,float]], default:None) – Value to be used to fill positive infinity values. If no value is passed then positive infinity values will be replaced with a very large number.neginf (
Optional[Union[int,float]], default:None) – Value to be used to fill negative infinity values. If no value is passed then negative infinity values will be replaced with a very small (or negative) number.out (
Optional[Array], default:None) – optional output array, for writing the result to.
- Return type:
- Returns:
ret – Array with the non-finite values replaced. If copy is False, this may be x itself.
Examples
>>> x = ivy.array([1, 2, 3, nan]) >>> ivy.nan_to_num(x) ivy.array([1., 1., 3., 0.0]) >>> x = ivy.array([1, 2, 3, inf]) >>> ivy.nan_to_num(x, posinf=5e+100) ivy.array([1., 2., 3., 5e+100])
- Array.nan_to_num(self, /, *, copy=True, nan=0.0, posinf=None, neginf=None, out=None)[source]#
ivy.Array instance method variant of ivy.nan_to_num. This method simply wraps the function, and so the docstring for ivy.nan_to_num also applies to this method with minimal changes.
- Parameters:
self (
Array) – Array input.copy (
bool, default:True) – Whether to create a copy of x (True) or to replace values in-place (False). The in-place operation only occurs if casting to an array does not require a copy. Default is True.nan (
Union[float,int], default:0.0) – Value to be used to fill NaN values. If no value is passed then NaN values will be replaced with 0.0.posinf (
Optional[Union[int,float]], default:None) – Value to be used to fill positive infinity values. If no value is passed then positive infinity values will be replaced with a very large number.neginf (
Optional[Union[int,float]], default:None) – Value to be used to fill negative infinity values. If no value is passed then negative infinity values will be replaced with a very small (or negative) number.out (
Optional[Array], default:None) – optional output array, for writing the result to.
- Return type:
Array- Returns:
ret – Array with the non-finite values replaced. If copy is False, this may be x itself.
Examples
>>> x = ivy.array([1, 2, 3, nan]) >>> x.nan_to_num() ivy.array([1., 1., 3., 0.0]) >>> x = ivy.array([1, 2, 3, inf]) >>> x.nan_to_num(posinf=5e+100) ivy.array([1., 2., 3., 5e+100])
- Container.nan_to_num(self, /, *, copy=True, nan=0.0, posinf=None, neginf=None, out=None)[source]#
ivy.Container instance method variant of ivy.nan_to_num. This method simply wraps the function, and so the docstring for ivy.nan_to_num also applies to this method with minimal changes.
- Parameters:
self (
Container) – Input container with array items.copy (
Union[bool,Container], default:True) – Whether to create a copy of x (True) or to replace values in-place (False). The in-place operation only occurs if casting to an array does not require a copy. Default is True.nan (
Union[float,int,Container], default:0.0) – Value to be used to fill NaN values. If no value is passed then NaN values will be replaced with 0.0.posinf (
Optional[Union[int,float,Container]], default:None) – Value to be used to fill positive infinity values. If no value is passed then positive infinity values will be replaced with a very large number.neginf (
Optional[Union[int,float,Container]], default:None) – Value to be used to fill negative infinity values. If no value is passed then negative infinity values will be replaced with a very small (or negative) number.out (
Optional[Container], default:None) – optional output container, for writing the result to.
- Return type:
Container- Returns:
ret – Container including arrays with replaced non-finite elements.
Examples
>>> a = ivy.array([1., 2, 3, ivy.nan], dtype="float64") >>> b = ivy.array([1., 2, 3, ivy.inf], dtype="float64") >>> x = ivy.Container(a=a, b=b) >>> ret = x.nan_to_num(posinf=5e+100) >>> print(ret) { a: ivy.array([1., 2., 3., 0.]), b: ivy.array([1.e+000, 2.e+000, 3.e+000, 5.e+100]) }