如何将RAvg类型数据转换为在Python中正确浮动?

问题描述 投票:0回答:1

我在Python中使用了积分方法vegas,下面是一个最小的例子

import vegas

sigma = lambda x: 1e-7 * x

integrator = vegas.Integrator([[0.0, 1.0]])
cross_section = integrator(sigma, nitn = 10, neval = 10000)
print cross_section
print type(cross_section)

这将打印

[5.0000113(83)e-08]
<class 'vegas._vegas.RAvgArray'>

数据的类型对我来说是闻所未闻的,我当然希望将其转换为float类型数据,我知道我可以手工完成

float(str(cross_section[0]).split('(')[0] + str(cross_section[0]).split(')')[1])

但这对我来说似乎并不聪明,是否有一种操纵这些数据的巧妙方法?

先感谢您!

python types
1个回答
1
投票

根据vegas source code

[RAvgArray]元素是gvar.GVars(来自gvar模块,如果存在)并表示高斯随机变量。

根据gvar.GVartheir documentation对象依次具有meansdevvar的属性。

看起来你想要这个:

cross_section[0].mean
© www.soinside.com 2019 - 2024. All rights reserved.