如何修复日志中的负值?

所以,我从一个 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])))


临摹微笑
浏览 198回答 2
2回答

万千封印

我不知道您要准确修复什么,但我绝对不会更改负值,因为它们会始终将功率更改为正值(如果您了解一些数学知识,您就会明白这意味着 1/16 ==> 16 和 16 ==> 16)。你可能想要什么,因为你正在处理频率(频率总是在 0 和 1 之间,如果你对它们进行归一化,将它们中的每一个除以所有它们的总和,因此你的对数将始终小于或等于0) 是使它们全部为正值,并具有 - log 10 的概率,这是一个非常常见的值,然后 1 == 1/10、2 == 1/100 等(至少在遗传学中是我相信称为 phred 值)。总结总是调用减日志,而不是日志-math.log(0.0001)

神不在的星期二

将ABS()函数是你在找什么。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python