首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从numpy子数组中删除NaN

从numpy子数组中删除NaN的方法有多种。以下是其中几种常见的方法:

方法一:使用np.isnan()和~运算符

代码语言:txt
复制
import numpy as np

arr = np.array([1, 2, np.nan, 4, np.nan, 6])
arr = arr[~np.isnan(arr)]

这种方法首先使用np.isnan()函数找到数组中的NaN值,然后使用~运算符取反,得到一个布尔数组,表示哪些元素不是NaN。最后,将这个布尔数组作为索引,从原始数组中选择非NaN值。

方法二:使用np.isfinite()函数

代码语言:txt
复制
import numpy as np

arr = np.array([1, 2, np.nan, 4, np.nan, 6])
arr = arr[np.isfinite(arr)]

这种方法使用np.isfinite()函数找到数组中有限的值(即非NaN和非无穷大的值),然后将这个布尔数组作为索引,从原始数组中选择有限的值。

方法三:使用np.nan_to_num()函数

代码语言:txt
复制
import numpy as np

arr = np.array([1, 2, np.nan, 4, np.nan, 6])
arr = np.nan_to_num(arr, nan=0.0)

这种方法使用np.nan_to_num()函数将NaN值替换为指定的值(这里是0.0)。这样就可以将NaN值替换为其他数值,而不是从数组中删除它们。

这些方法可以根据具体的需求选择使用。如果需要删除NaN值,可以使用方法一或方法二。如果需要将NaN值替换为其他数值,可以使用方法三。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券