【发布时间】:2021-12-09 07:45:57
【问题描述】:
我正在使用 uncertainties 模块和 Pandas。目前,我能够将具有不确定性的数据框一起输出到电子表格中。我的主要目标是在相邻列中写入具有不确定性的数据框。但是如何访问数据框中的标称值或不确定性。下面给出了 MWE。
当前输出
| A | B |
|---|---|
| 63.2+/-0.9 | 75.4+/-0.9 |
| 41.94+/-0.05 | 53.12+/-0.21 |
| 4.1+/-0.4 | 89.51+/-0.32 |
| 28.2+/-0.5 | 10.6+/-0.6 |
| 25.8+/-0.9 | 39.03+/-0.08 |
| 27.26+/-0.09 | 44.61+/-0.35 |
| 25.04+/-0.13 | 37.7+/-0.6 |
| 2.4+/-0.5 | 50.0+/-0.8 |
| 0.92+/-0.21 | 3.1+/-0.5 |
| 57.69+/-0.34 | 21.8+/-0.8 |
期望的输出
| A | +/- | B | +/- |
|---|---|---|---|
| 63.2 | 0.9 | 75.4 | 0.9 |
| 41.94 | 0.05 | 53.12 | 0.21 |
| 4.1 | 0.4 | 89.51 | 0.32 |
| 28.2 | 0.5 | 10.6 | 0.6 |
| 25.8 | 0.9 | 39.03 | 0.08 |
| 27.26 | 0.09 | 44.61 | 0.35 |
| 25.04 | 0.13 | 37.7 | 0.6 |
| 2.4 | 0.5 | 50 | 0.8 |
| 0.92 | 0.21 | 3.1 | 0.5 |
| 57.69 | 0.34 | 21.8 | 0.8 |
MWE
from uncertainties import unumpy
import pandas as pd
import numpy as np
A_n = 100 * np.random.rand(10)
A_s = np.random.rand(10)
B_n = 100 * np.random.rand(10)
B_s = np.random.rand(10)
AB = pd.DataFrame({'A':unumpy.uarray(A_n, A_s), 'B': unumpy.uarray(B_n, B_s)})
AB_writer = pd.ExcelWriter('A.xlsx', engine = 'xlsxwriter', options={'strings_to_numbers': True})
AB.to_excel(AB_writer, sheet_name = 'Data', index=False, na_rep='nan')
AB_writer.close()
更新
我忘了提到 AB 不是如 MWE 中所示创建的,而是 MWE 中未给出的先前计算的结果。为了 MWE,我创建了 AB。所以简而言之,我将无法访问 A 和 B 标称值和不确定值。
【问题讨论】:
-
如果您无法访问 A 和 B 标称值和不确定值,您如何处理这两列并对其进行转换?或者,您只有它们的组合值,例如
63.2+/-0.9在文本中? -
我只有它们的组合值(经过多次计算)。
标签: python pandas uncertainty