首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >`np.nanargmin([np.nan,np.inf]) =0‘

`np.nanargmin([np.nan,np.inf]) =0‘
EN

Stack Overflow用户
提问于 2017-09-25 07:53:18
回答 2查看 112关注 0票数 2

据我所知,np.nanargmin在不是NaN的列表中找到最小的数字。但是,如果调用数组[np.nan, np.inf],则会生成0,即NaN。我发现这种行为很奇怪,我只是想知道用这种方式定义np.argmin的逻辑是什么。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-25 08:01:54

如果您查看np.nanargmin的文档,它说:

警告:如果切片只包含NaNs和Infs,则不能信任结果。

如果您查看源代码,它有以下一行:

代码语言:javascript
复制
a, mask = _replace_nan(a, np.inf)

因此,它将所有nan事件替换为inf,因此它将找到min (仍然有问题),这将是argmin([inf, inf])

票数 1
EN

Stack Overflow用户

发布于 2017-09-25 08:05:54

如果您查看来源,就会看到:

代码语言:javascript
复制
a, mask = _replace_nan(a, np.inf)
res = np.argmin(a, axis=axis)

这意味着它将np.nan替换为np.inf。由于重复值的np.argmin返回该值的第一个实例,np.argmin([np.inf, np.inf])返回0

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46400111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档