首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自pandas数据帧的不确定性的LaTeX表

来自pandas数据帧的不确定性的LaTeX表
EN

Stack Overflow用户
提问于 2019-06-22 19:36:44
回答 1查看 516关注 0票数 2

我目前正在写一份报告,其中包含许多用python计算的值和不确定性,并存储在pandas DataFrame中。

这些值必须放入报告中,包括错误。目前,我唯一的方法是手动将值与错误组合在一起。其中一个示例如下所示:

代码语言:javascript
复制
\begin{tabular}{cccc}
    \hline
    Konzentration $c/\si{\gram\per\liter}$ & $D_\text{app} / \si{\square\meter\per\second}$ & $R_h / \si{\meter}$ & PDI  \\
    \hline
    \SI{0.50}{} & \SI{9.9(2)e-13}{}  & \SI{3.84(8)e-7}{} & \SI{4.1(3)}{} \\
    \SI{0.33}{} & \SI{6.35(7)e-13}{} & \SI{5.96(6)e-7}{} & \SI{1.4(2)}{} \\
    \SI{0.25}{} & \SI{1.16(2)e-12}{} & \SI{3.26(6)e-7}{} & \SI{2.6(2)}{} \\
    \SI{0.20}{} & \SI{6.11(9)e-15}{} & \SI{6.20(9)e-7}{} & \SI{4.9(3)}{} \\
    \hline
\end{tabular}

我知道pd.to_latex()在一定程度上减少了工作量,但据我所知,它不能处理错误。

您是否知道在LaTeX或python上有什么方法可以在不手动组合值和错误的情况下实现这样的表。DataFrame如下所示:

到目前为止,我唯一的想法是写一个函数,它接受值、误差和不确定性的大小(在本例中总是1),并返回一个我可以在pd.to_latex()中使用的字符串。

有没有更简单或者更好的方法来做到这一点?

EN

回答 1

Stack Overflow用户

发布于 2019-06-23 07:06:43

我已经编写了一个函数,它将值和错误组合在一个字符串中。

代码语言:javascript
复制
def conv2siunitx(val, err, err_points=1):
    val = f'{val:.20e}'.split('e')
    err = f'{err:.20e}'.split('e') 
    first_uncertain = int(val[1]) - int(err[1]) + err_points

    my_val = f'{np.round(float(val[0]), first_uncertain-1):.10f}'
    my_err = f'{np.round(float(err[0]), err_points-1):.10f}'.replace('.','')
    # Avoid 1. and write 1 instead
    if first_uncertain > 1:
        first_uncertain = first_uncertain + 1

    return(f'{my_val[:first_uncertain]}({my_err[:err_points]})e{val[1]}')

S-columns相结合,这将导致我所寻找的结果。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56715139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档