如何从一个给定的NumPy数组中移除NaN值
在这篇文章中,我们将学习如何从一个给定的数组中删除Nan值。楠木值是那些没有与之相关的特定值的值,或者它们与声明的数组中要使用的值的类型不同。
基本上有三种方法,在语法上略有不同。我们既可以使用NumPy中指定的函数,也可以使用运算符,基本工作原理是一样的。
使用numpy.logical_not()和numpy.nan()函数
numpy.isan()将为所有值为nan的索引提供真实的索引,当与numpy.logical_not()函数结合时,布尔值将被反转。因此,最终我们得到了所有不是nan的元素的索引。从这些索引中,我们可以过滤出不属于nan的值,并将它们保存在另一个数组中。
输出:
注:无论数组的维度是多少,它都会被压扁成一个一维数组。
使用 np.isnan() 从一个给定的NumPy中移除NaN值
将~运算符代替n umpy.logical_not()与n umpy.isan()函数相结合。这将与上面的工作方式相同,它将把任何维度的数组转换成一维数组。
输出:
使用np.isfinite 从一个给定的NumPy中移除NaN值
numpy.isfinite()函数从元素的角度测试它是否是有限的(不是无穷大或不是一个数字),并将结果作为一个布尔数组返回。使用这个函数,我们将得到所有非纳米元素的索引。从这些索引中,我们可以过滤出不属于nan的值,并将它们保存在另一个数组中。
输出: