在 NumPy 中,NaN(Not a Number)值表示无效或未定义的值。虽然在进行数组操作时,通常不会将 NaN 视为有效值,但在尝试直接去除它们时,需要使用特定的方法。

例如,如果你有一个名为 X 的数组,其中包含 NaN 值:

import numpy as np
X = np.array([13.65, 13.51, 13.54, 13.6, 13.54, 13.5, 13.48, 13.46, 13.41,
       13.39, 13.39, 13.39, 13.43, 13.36, 13.39, 13.28, 13.32, 13.38,
       13.35, 13.32, 13.4,   np.nan,   np.nan,   np.nan])

你可能想要使用 X = X[~np.isnan(X)] 来去除 NaN 值。然而,这并不会直接去除 NaN 值,而是创建了一个包含所有非 NaN 值的新数组。

这是因为 np.isnan() 函数会返回一个布尔数组,其中 True 表示 NaN 值。使用 ~ 操作符对该布尔数组进行反转,从而选择所有非 NaN 值。最终,X = X[~np.isnan(X)] 创建了一个仅包含非 NaN 值的新数组,并将其赋值给 X

因此,使用 X = X[~np.isnan(X)] 可以有效地去除数组中的 NaN 值,并创建一个新的数组,其中只包含非 NaN 值。

如何使用 NumPy 从数组中删除 NaN 值

原文地址: https://www.cveoy.top/t/topic/odU1 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录