从外部数据源绘制标准偏差

时间:2019-11-30 10:29:56

标签: python pandas seaborn std

我正在尝试可视化一个笔直的线图,在其中我想绘制一列的平均值和标准偏差。默认情况下,这很容易,但是由于我正在处理非常大的文件(数百万行),因此绘图需要一段时间才能加载。

为了最小化seaborn所需的计算时间,我首先计算列的平均值(以及标准差),然后将其馈送到线图,而不是将整个Pandas数据框作为输入。我的代码如下所示:

df = open_pickle("data/experiment")
sns.lineplot(x="rho", y="wait_time_mean", hue="c", style="service_type", data=df)

但是,现在我丢失了有关标准偏差的信息。因此,我想知道是否可以手动为seaborn提供标准偏差的值。

预先感谢

1 个答案:

答案 0 :(得分:2)

sns.lineplot返回图的Axes对象,然后可以在其上进行绘制。假设您的标准差也在df中,则可以通过以下方式修改代码,该方式现在使用matplotlib函数fill_beetween

df = open_pickle("data/experiment")
ax = sns.lineplot(x="rho", y="wait_time_mean", hue="c", style="service_type", data=df)
ax.fill_between(df["rho"], y1=df["wait_time_mean"] - df["wait_time_std"], y2=df["wait_time_mean"] + df["wait_time_std"], alpha=.5)