我想用 Python pandas、matpolib 显示 95% 的置信区间……但我坚持了下来,因为对于通常的 .std()
我会这样做:
import pandas as pd
import numpy as np
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import math
data = pd.read_table('output.txt',sep=r'\,', engine='python')
Ox = data.groupby(['Ox'])['Ox'].mean()
Oy = data.groupby(['Ox'])['Oy'].mean()
std = data.groupby(['Ox'])['Oy'].std()
plt.plot(Ox, Oy , label = 'STA = '+ str(x))
plt.errorbar(Ox, Oy, std, label = 'errorbar', linewidth=2)
plt.legend(loc='best', prop={'size':9.2})
plt.savefig('plot.pdf')
plt.close()
但是我还没有在 pandas 方法中找到可以帮助我的东西。有人知道吗?
原文由 user7040867 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用 2 * std 估计 95% 区间
在正态分布中,区间 [μ - 2σ, μ + 2σ] 覆盖 95.5%,因此您可以使用 2 * std 来估计 95% 区间:
结果:
使用百分位数
如果您的分布偏斜,最好使用不对称误差线并从百分位数中获取 95% 的区间。
结果: