Advertisement

用Python中的numpy库实现零除错误处理方案

阅读量:

采用where进行表述

复制代码
    >>> a = np.array([-1, 0, 1, 2, 3], dtype=float) 
    >>> b = np.array([ 0, 0, 0, 2, 2], dtype=float) 
    
    >>> c = np.divide(a, b, out=np.zeros_like(a), where=b!=0) 
    >>> print(c) 
    [ 0. 0. 0. 1. 1.5]
    
    
      
      
      
      
      
      
    

2.采用遮罩技术

复制代码
    >>> a = np.array([1,2,3], dtype='float') 
    >>> b = np.array([0,1,3], dtype='float') 
    >>> c = a/b 
    >>> c 
    array([ inf, 2., 1.]) 
    >>> c[c == np.inf] = 0 
    >>> c 
    array([ 0., 2., 1.]) 
    
    
      
      
      
      
      
      
      
      
    

全部评论 (0)

还没有任何评论哟~