从一维numpy数组中删除所有nan值

从一维numpy数组中删除所有nan值

从一维numpy数组中删除所有nan值

在数据处理过程中,我们经常会遇到一维numpy数组中包含NaN(Not a Number)值的情况。这些NaN值可能会影响我们的数据分析和模型训练,因此我们需要将其删除。

方法一:使用np.isnan()和np.logical_not()

我们可以使用np.isnan()函数找到数组中的NaN值,然后使用np.logical_not()函数过滤掉这些NaN值。

import numpy as np

# 创建包含NaN值的一维numpy数组
arr = np.array([1, 2, np.nan, 4, np.nan, 6])

# 过滤掉NaN值
arr = arr[np.logical_not(np.isnan(arr))]

print(arr)

运行结果:

[1. 2. 4. 6.]

方法二:使用np.isnan()和np.isnan().any()

我们还可以使用np.isnan()函数找到包含NaN值的索引,然后使用np.delete()函数删除这些索引对应的元素。

import numpy as np

# 创建包含NaN值的一维numpy数组
arr = np.array([1, 2, np.nan, 4, np.nan, 6])

# 找到NaN值的索引
nan_indices = np.isnan(arr)

# 删除NaN值
arr = np.delete(arr, np.where(nan_indices))

print(arr)

运行结果:

[1. 2. 4. 6.]

通过以上的方法,我们可以很容易地从一维numpy数组中删除所有NaN值,确保数据的准确性和完整性。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程