我正在处理非常小的p值(几百个小数),并且我正在尝试检测列表中最小的一个。似乎Python会检测到其中许多为零,所以当我登录时,我会得到一个零除错误。
为了避免这种情况,我编写了以下代码:
smallest_val = min(np.array(p_value)[np.array(p_value) > 0])
for i in range(len(p_value)):
if p_value[i] == 0:
p_value[i] = smallest_val
p_value_log = []
for i in p_value:
b = log(i)
p_value_log.append(b)当然,这并不能解决我的问题,因为几个小的p值等于smallest_val,并且我不能识别最小的。你知道最好的方法吗?
发布于 2016-10-28 20:46:05
不是用smallest_val代替0,而是用smallest_val/2或smallest_val和0之间的其他东西代替,这样你仍然可以识别出你的替代者。
https://stackoverflow.com/questions/40305343
复制相似问题