栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在numpy中将非常低的值设置为零

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在numpy中将非常低的值设置为零

嗯 我对此并不满意,但这似乎可行:

>>> a = np.array([0 +  0.5j, 0.25 + 1.2352444e-24j, 0.25+ 0j, 2.46519033e-32 + 0j])>>> aarray([  0.00000000e+00 +5.00000000e-01j,         2.50000000e-01 +1.23524440e-24j,         2.50000000e-01 +0.00000000e+00j,   2.46519033e-32 +0.00000000e+00j])>>> tol = 1e-16>>> a.real[abs(a.real) < tol] = 0.0>>> a.imag[abs(a.imag) < tol] = 0.0>>> aarray([ 0.00+0.5j,  0.25+0.j ,  0.25+0.j ,  0.00+0.j ])

您可以根据自己的问题选择容忍度。我通常使用一个数量级以上

>>> np.finfo(np.float).eps2.2204460492503131e-16

但这取决于问题。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/641392.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号