当前位置: 首页 > 面试题库 >

python:绕过零除

应瀚
2023-03-14
问题内容

我有一个浮点数的大数据集。我遍历它们并np.log(x)为它们中的每一个进行评估。我懂了

RuntimeWarning: divide by zero encountered in log

我想解决这个问题,如果发生此错误,则返回0。

我正在考虑定义一个新功能:

def safe_ln(x):
    #returns: ln(x) but replaces -inf with 0
    l = np.log(x)
    #if l = -inf:
    l = 0
    return l

基本上,我需要一种测试输出是否正确的方法,-inf但我不知道如何进行。感谢您的帮助!


问题答案:

由于logforx=0为负无穷大,因此我只需要检查输入值是否为零并返回您想要的值即可:

def safe_ln(x):
    if x <= 0:
        return 0
    return math.log(x)

编辑 :小编辑:您应该检查所有小于或等于0的值。

编辑2np.log当然是在numpy数组上计算的函数,对于单个值,您应该使用math.log。这是上面的函数与numpy的外观:

def safe_ln(x, minval=0.0000000001):
    return np.log(x.clip(min=minval))


 类似资料:
  • 路径方向与非零环绕原则 平时我们画的图形都是规规矩矩的,那么如果我们用线条画了个抽象派作品,就像下面这图一样,童鞋们知道怎么用fill()染色呢? 这里就要用到数学上的一个方法——非零环绕原则,来判断哪块区域是里面,哪块区域是外面。接下来,我们具体来看下什么是非零环绕原则。 首先,我们得给图形确定一条路径,只要“一笔画”并且“不走重复路线”就可以了。如图,标出的是其中的一种路径方向。我们先假定路径

  • 简要描述 有些时候,通用的绕过技巧并不可行,这个时候我们就得观察缺陷点的周围环境,想想其它办法咯。“猥琐绕过”与通用绕过不 同的是,它通用性小,往往只是特例。 详细说明 1. 直接看实例点: http://qzs.qq.com/qzone/v6/custom/custom_module_proxy.html#siDomain=1&g_StyleID=aaaaaaaaaa 2. 可以看出,这是一个

  • 简要描述 关于反射型的基本东西,暂时就到这啦,如果后面有什么好的 case,再做增补。最近,有些人会问到怎么绕过浏览器的 XSS 过滤 器,所以从这节开始,给出点绕过的例子。当然这些绕过浏览器的方法,不是万能的。不同浏览器,不同场景都会存在差异。满足场景 要求时,才可以使用。 此文给出的是一个来自 sogili 分享的 chrome 下绕过过滤器的方法,在腾讯某处 XSS 上的应用。 这一类都算是

  • 尽管我保留了verify=false,但在Python中还是出现了ssl错误。你能告诉我如何避免吗?但是curl命令使用-k选项。 错误:

  • 在上一节中,我们了解了如何嗅探和捕获通过HTTP请求发送的任何数据包。谷歌,Facebook等大多数知名网站都使用HTTPS而不是HTTP。当我们使用MITM时,当该被攻击的用户访问网站时,该网站将显示一条警告消息,指出网站的证书无效。那么被攻击的用户不会登录。为了解决这个问题,我们将使用工具SSLstrip。此工具用于将任何HTTPS请求降级为HTTP。因此,每当目标人员试图访问任何网站时,他们

  • 我是一名Linux用户,很不高兴发现vhx等网站上的HDCP保护。电视阻止我在完全合法的上下文中查看内容,因为所有Linux浏览器都缺乏HDCP支持。由于HDCP在几年前被“破坏”,就主密钥泄漏而言,任何设备理论上都可以针对HDCP检查进行授权。 假设,是什么阻止某人编写浏览器扩展或创建自定义firefox构建以这种方式覆盖DRM API? 为什么没有这样的项目,仅仅是缺乏兴趣,还是有一个难以逾越