gpt4 book ai didi

python - numpy 数组的平均值返回 NaN

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

我有一个包含超过 330,000 行的 np.array。我只是尝试取它的平均值,它返回 NaN。即使我尝试过滤掉数组中任何可能的 NaN 值(无论如何都不应该有),average 也会返回 NaN。我在做一些完全古怪的事情吗?

我的代码在这里:

average(ngma_heat_daily)
Out[70]: nan

average(ngma_heat_daily[ngma_heat_daily != nan])
Out[71]: nan

最佳答案

试试这个:

>>> np.nanmean(ngma_heat_daily)

此函数在取平均值之前从数组中删除 NaN 值。

编辑:average(ngma_heat_daily[ngma_heat_daily != nan]) 不起作用的原因是因为:

>>> np.nan == np.nan
False

根据 IEEE 浮点标准,NaN 不等于自身!您可以这样做来实现相同的想法:

>>> average(ngma_heat_daily[~np.isnan(ngma_heat_daily)])

np.isnannp.isinf 和类似函数对于此类数据屏蔽非常有用。

关于python - numpy 数组的平均值返回 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36224066/

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