具有不确定性的LaTeX表

2024-03-29 01:25:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在编写一个报告,其中包含许多用python计算并存储在pandas数据帧中的值和不确定性。你知道吗

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

\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}

enter image description here

我知道pd.to_latex()部分地减少了工作量,但据我所知,它不会处理错误。你知道吗

您知道在LaTeX或python上有什么方法可以实现这样一个表,而不必手动组合值和错误。 数据帧如下所示: enter image description here

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

有没有更简单或可能更好的方法来做到这一点?你知道吗


Tags: to数据方法报告错误手动latexpd
1条回答
网友
1楼 · 发布于 2024-03-29 01:25:55

我编写了一个函数,它将值和错误组合在一个字符串中。你知道吗

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-列,这就得到了我想要的结果。你知道吗

相关问题 更多 >