首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >pandas和matplotlib的95%置信区间

pandas和matplotlib的95%置信区间
EN

Stack Overflow用户
提问于 2019-02-20 17:37:41
回答 1查看 2.8K关注 0票数 0

我不知道为什么我花了这么长时间才弄明白,但我找不到一种方法来绘制我的数据的置信区间的误差条。

我在Python列表中有一些数据。

我从另一个问题中找到了这个代码,用于计算某些数据的95%置信区间。

代码语言:javascript
复制
def mean_confidence_interval(data, confidence=0.95):
    a = 1.0 * np.array(data)
    n = len(a)
    m, se = np.mean(a), scipy.stats.sem(a)
    h = se * scipy.stats.t.ppf((1 + confidence) / 2., n-1)
    return m, m-h, m+h

我用它来得到我的条形图中一条线的置信区间。问题是,既然这里有一个三元组,我该如何绘制误差条呢?我是不是只需要根据这些值绘制出每条线的max

编辑

我试着实现评论中的建议。假设我的图表中有3个条形图,然后我创建了一个2X3列表,在第一行包含每个条形图的m-h值,在第二行包含每个条形图的m+h值。然而,将其赋予图表会产生一些奇怪的错误条形图(例如,一个条形图的跨度超过500,尽管我的错误中没有这样的值)。

代码语言:javascript
复制
[[200.0446804785922, 109.31657288869792, 93.43052190866868], 
[200.0957195214078, 222.0113671113021, 217.6619980913313]]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-19 03:05:15

使用Seaborn和Pandas非常简单:

代码语言:javascript
复制
import pandas as pd
import seaborn as sns

pd_df = pd.DataFrame(your_list, columns=['x_data', 'y_data', 'group_categories'])
sns.lineplot(data=pd_df, 
             x='x_data', y='y_data', hue='group_categories', ci=95,
             legend="full", palette="Set1")
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54783077

复制
相关文章

相似问题

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