首页 文章

如何修复日志中的负值?

提问于
浏览 389
-1

所以,我从txt文件中获取数据,我希望在整个集合中获取特定数据 . 在代码中,我试图通过指定哪些索引和哪些频率用于这些索引来获取它 . 但我的日志显示负值,我不知道如何解决这个问题 . 代码如下,谢谢!

indexes = [9,10,11,12,13]
 frequenciesmh = [151,610,1400,4860,18000]
 frequenciesgh = [i*10**-3 for i in frequenciesmh]
 bigclusterallfluxes = bigcluster[indexes]
 bigclusterlogflux151mhandredshift = [i[indexes] for i in bigcluster]

 shiftedlogflux151mh = 
 [np.interp(np.log10((151*10**-3)*i[0]),np.log10(frequenciesgh),i[1:])
                       for i in bigclusterlogflux151mhandredshift]
  shiftflux151mh = [10**i for i in shiftedlogflux151mh]

   bigclusterflux151mhandredshift = 
   np.array(list(zip(shiftflux151mh,np.transpose(bigcluster)[9])))

2 回答

  • 1

    abs()功能正是您所需要的 .

  • 0

    我不知道你究竟想要修复什么,但我肯定不会改变负值,因为它们总是将力量变为正值(如果你知道一些数学,你会明白这意味着1/16 ==> 16也是16 ==> 16) .

    你可能想要的是什么,因为你正在使用频率(总是在0和1之间,如果你将它们标准化,这样做除以它们中的每一个的总和,因此你的对数总是小于或等于0)是使它们都是正数并且具有你的概率的 - log 10,这是一个非常常见的值,然后1 == 1 / 10,2 == 1/100等(这在遗传学中至少是我相信称为phred值 .

    总结总是调用减号日志而不是日志

    -math.log(0.0001)
    

相关问题