当我在最底部运行回归代码时,我一直RuntimeWarning
。我不确定如何解决它们。我相信这可能是attencoef
列表,因为其中有一些nan
值。有什么建议吗?
这些是我得到的错误:
C:UsersMTM UserAnaconda3libsite-packagesscipystats_stats_mstats_common.py:106: RuntimeWarning: invalid value encountered in double_scalars
slope = r_num / ssxm
C:UsersMTM UserAnaconda3libsite-packagesscipystats_stats_mstats_common.py:116: RuntimeWarning: invalid value encountered in sqrt
t = r * np.sqrt(df / ((1.0 - r + TINY)*(1.0 + r + TINY)))
C:UsersMTM UserAnaconda3libsite-packagesscipystats_distn_infrastructure.py:879: RuntimeWarning: invalid value encountered in greater
return (self.a < x) & (x < self.b)
C:UsersMTM UserAnaconda3libsite-packagesscipystats_distn_infrastructure.py:879: RuntimeWarning: invalid value encountered in less
return (self.a < x) & (x < self.b)
C:UsersMTM UserAnaconda3libsite-packagesscipystats_distn_infrastructure.py:1818: RuntimeWarning: invalid value encountered in less_equal
cond2 = cond0 & (x <= self.a)
C:UsersMTM UserAnaconda3libsite-packagesscipystats_stats_mstats_common.py:118: RuntimeWarning: invalid value encountered in double_scalars
sterrest = np.sqrt((1 - r**2) * ssym / ssxm / df)
代码:
for depthvalues in split_depth.values(): # only takes the values (separated lists), removes keys
# takes into account the number of yows
count+=1
depthlst = depthvalues
depthfirst = depthlst[0] #find my first depth or deepest depth
depthlast = depthlst[-1] # find my last depth, or shallowest
depthfirst_index = depth.index(depthfirst) #finds the index of my deepest depth for this segment in the filtered lists
depthlast_index = depth.index(depthlast) #finds the index of my shallowest depth for this segment in the filtered lists
irradlst = irrad[depthfirst_index:depthlast_index+1]
irrad_first = irradlst[0] #finds the corresponding irradiance
irrad_last = irradlst[-1]
irrad_last = float(irrad_last)
irradlst = np.array(irradlst).astype(np.float)
depthlst = np.array(depthlst).astype(np.float)
attencoef = [np.log(i/irrad_last) for i in irradlst]
#whenever I use this line of code(below) I get a bunch of errors
regress = linregress(attencoef,depthlst)
您应该使用以下命令过滤警告:
import warnings
warnings.filterwarnings("ignore", category=RuntimeWarning)
category
是您要静音的警告类型。