Python NumPy 用零替换NaN,并为复杂的输入值填充正无穷
在这篇文章中,我们将看到如何在Python中对复杂的输入值用零来代替NaN并填充正无穷。
Numpy包为我们提供了numpy.nan_to_num()方法,在Python中用零替换NaN,并为复杂的输入值填充正无穷。这个方法用一个数字替换一个nan值,用我们选择的数字替换正无穷大。让我们详细看看numpy.nan_to_num()的语法。
语法: numpy.nan_to_num(x, copy=True, nan=0.0, posinf=None, neginf=None)
参数:
- x:类似数组或标量对象。作为输入的数据。
- copy: 可选的值,布尔值。传递’true’以创建x的副本,或’false’以原地替换数值。默认为’true’。
- nan:可选的值,int或float.用这个值填充NaN值。如果没有给出值,NaN值将被替换为0.0。
- posinf:可选的值,int或float。用这个值填充正无穷大的值。如果没有给定值,正无穷值将被替换成一个极大的数字。
- neginf: 可选的值,int或float.用这个值填入负无穷值。如果没有传递值,负无穷值将被替换成一个非常小的整数。
返回:一个数组对象。
示例 1:
在这个例子中,我们在np.nan和np.inf的帮助下创建了一个虚数的数组。数组的形状是由.shape属性定义的,数组的尺寸是由.ndim定义的。现在我们将使用posinf参数将np.inf替换为9999999的值。
输出:
示例 2:
在这个例子中,我们要用100的值来代替nan。
输出:
示例 3:
在这个例子中,我们要替换nan=100,posinf=999999,neginf=0。
输出: