gpt4 book ai didi

python - numpy 数组与 nan 与标量的不等式比较

转载 作者:太空狗 更新时间:2023-10-29 17:03:29 25 4
gpt4 key购买 nike

我正在尝试将低于阈值的数组成员设置为 nan。这是 QA/QC 流程的一部分,传入数据可能已经有 nan 槽。

例如,我的阈值可能是 -1000,因此我想在以下数组中将 -3000 设置为 nan

x = np.array([np.nan,1.,2.,-3000.,np.nan,5.])

以下内容:

x[x < -1000.] = np.nan

产生正确的行为,还有一个 RuntimeWarning,但是禁用警告的开销

warnings.filterwarnings("ignore")
...
warnints.resetwarnings()

有点重,可能有点不安全。

尝试使用如下花式索引进行两次索引不会产生任何效果:

nonan = np.where(~np.isnan(x))[0]
x[nonan][x[nonan] < -1000.] = np.nan

我假设这是因为整数索引或使用索引两次而产生了副本。

有没有人有相对简单的解决方案?过程中使用掩码数组就好了,但是最终产品必须是ndarray,我不能引入新的依赖项。谢谢。

最佳答案

一个选项是使用 numpy.errstate 禁用相关警告:

with numpy.errstate(invalid='ignore'):
...

要全局关闭相关警告,使用numpy.seterr .

关于python - numpy 数组与 nan 与标量的不等式比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25345843/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com