计算标准偏差(Python)



我计算了4个列表中每个第n个元素的平均值,如下例所示。我想计算出标准偏差,并将其作为误差条添加到我的图中

y1 = [1, 2, 2, 4, 5]
y2 = [3, 6, 9, 12, 0]
y3 = [2, 3, 4, 5, 6]
y4 = [2, 1, 5, 7, 9]
average = np.array([y1, y2, y3, y4]).mean(axis=0)
y = average.tolist()
plot(x,y)

我该怎么做?

要解决您的第一个问题,您可以按照与当前计算平均值大致相同的方式计算标准偏差。Numpy有一个std函数,它采用与mean类似的参数。

std_dev = np.array([y1, y2, y3, y4]).std(axis=0)

对于第二个问题,假设plot(x,y)来自matplotlib.pyplot,您可以使用errorbar,它需要一个额外的yerr参数,用于指定错误条。

完整的示例脚本:

import numpy as np
import matplotlib.pyplot as plt
x = [0, 1, 2, 3, 4]
y1 = [1, 2, 2, 4, 5]
y2 = [3, 6, 9, 12, 0]
y3 = [2, 3, 4, 5, 6]
y4 = [2, 1, 5, 7, 9]
datasets = np.array([y1, y2, y3, y4])
average = datasets.mean(axis=0)
std_dev = datasets.std(axis=0)
plt.errorbar(x, average, yerr=std_dev)
plt.show()

相关内容

  • 没有找到相关文章

最新更新