📅  最后修改于: 2023-12-03 14:52:08.908000             🧑  作者: Mango
在处理 Numpy 数组时,有时候数组中会包含非数字值,这可能会影响后续的计算。因此,需要将包含非数字值的行从数组中删除。
以下是使用 Python 代码删除 Numpy 数组中包含非数字值的行的方法:
import numpy as np
# 创建一个包含非数字值的 Numpy 数组
arr = np.array([[1, 2, np.nan],
[4, 5, 6],
[7, np.nan, 9]])
# 删除包含非数字值的行
arr = arr[~np.isnan(arr).any(axis=1)]
# 打印结果
print(arr)
在上述代码中,我们首先创建了一个包含非数字值的 Numpy 数组。然后,我们使用 np.isnan
函数来检查是否包含非数字值。通过 any
函数,我们可以在每行中查找是否存在任何非数字值。若某行中存在非数字值,则该行被标记为 True
。最后,我们使用 ~
操作符对结果取反,以获取不包含非数字值的行。最后,我们打印出结果。
输出结果为:
[[4. 5. 6.]]
因为第一行和第三行都包含非数字值,所以这两行被删除了。只有第二行没有包含非数字值,所以它保留下来了。
总之,这是一种非常简单的方法,可以用来删除 Numpy 数组中包含非数字值的行。