📅  最后修改于: 2023-12-03 15:33:14.388000             🧑  作者: Mango
NumPy是Python中最常用的科学计算库之一。当处理大量数据时,经常需要处理包含NaN(Not a Number)值的数组。在此文章中,我们将看到如何使用NumPy删除包含NaN的行。
我们首先创建一个包含NaN值的NumPy数组。
import numpy as np
arr = np.array([[1, 2, np.nan],
[4, np.nan, 6],
[7, 8, 9]])
这个数组有3行3列,其中包含一些NaN值。
我们可以使用NumPy中的isnan()
函数来获取一个布尔掩码数组,该数组指示哪些元素是NaN。
mask = np.isnan(arr)
现在我们可以使用np.any()
函数检查每一行中是否有NaN值。np.any()
函数返回一个布尔值数组,该数组的形状与原始数组的形状相同。
row_mask = np.any(mask, axis=1)
最后,我们可以使用这个布尔掩码数组来删除包含NaN值的行。
clean_arr = arr[~row_mask]
下面是完整的代码:
import numpy as np
arr = np.array([[1, 2, np.nan],
[4, np.nan, 6],
[7, 8, 9]])
mask = np.isnan(arr)
row_mask = np.any(mask, axis=1)
clean_arr = arr[~row_mask]
返回的clean_arr
数组将不包含任何包含NaN值的行。
这就是如何使用NumPy删除包含NaN的行的完整示例。