请帮我绘制下面数据的正态分布:
数据:
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
h = [186, 176, 158, 180, 186, 168, 168, 164, 178, 170, 189, 195, 172,
187, 180, 186, 185, 168, 179, 178, 183, 179, 170, 175, 186, 159,
161, 178, 175, 185, 175, 162, 173, 172, 177, 175, 172, 177, 180]
std = np.std(h)
mean = np.mean(h)
plt.plot(norm.pdf(h,mean,std))
Run Code Online (Sandbox Code Playgroud)
输出:
Standard Deriviation = 8.54065575872
mean = 176.076923077
Run Code Online (Sandbox Code Playgroud)
情节不正确,我的代码出了什么问题?
如何使用均值和标准差参数值(μ,σ)=(-1,1),(0,2)和(2,3)来绘制一维高斯分布函数的图?
我是使用Python编程的新手.
先感谢您!
我无法理解如何正确使用此功能,有人可以向我解释一下吗?
假设我有:
当我被要求使用 norm.ppf() 计算 (95%) 误差幅度时,代码会如下所示吗?
norm.ppf(0.95, loc=172.78, scale=4.15)
Run Code Online (Sandbox Code Playgroud)
或者它看起来像这样?
norm.ppf(0.95, loc=0, scale=1)
Run Code Online (Sandbox Code Playgroud)
因为我知道它正在计算置信区间右侧的曲线面积(95%、97.5% 等...见下图),但是当我有均值和标准差时,我真的很困惑如何使用该功能。
我打算将我正在编写的程序的一部分自动生成多个原始文本源上的各种统计数据的高斯分布,但是我有一些问题根据以下指南生成图形:
绘图代码的一般要点如下.
import numpy as np
import matplotlib.mlab as mlab
import matplotlib.pyplot as pyplot
meanAverage = 222.89219487179491 # typical value calculated beforehand
standardDeviation = 3.8857889432054091 # typical value calculated beforehand
x = np.linspace(-3,3,100)
pyplot.plot(x,mlab.normpdf(x,meanAverage,standardDeviation))
pyplot.show()
Run Code Online (Sandbox Code Playgroud)
它所做的只是产生一个相当平坦的外观和无用的y = 0线!任何人都可以看到这里的问题是什么?
干杯.
我在 Python 代码中使用 matplotlib。我收到以下警告:
xxx.py:88: MatplotlibDeprecationWarning: scipy.stats.norm.pdf
y = 100 * mlab.normpdf(bin_middles, mu, sigma)*bin_width
我想知道问题是什么,所以我可以解决它并避免警告。
python ×5
matplotlib ×3
scipy ×3
gaussian ×2
plot ×2
distribution ×1
numpy ×1
python-3.x ×1
statistics ×1