【问题标题】:Probability distribution function in PythonPython中的概率分布函数
【发布时间】:2011-10-27 03:16:21
【问题描述】:

我知道如何在 Python 中创建直方图,但我希望它是概率密度分布。

让我们从我的例子开始。我有一个数组d,大小为 500000 个元素。使用以下代码,我正在构建一个简单的直方图,告诉我数组 d 在每个 bin 之间有多少个元素。

max_val=log10(max(d))
min_val=log10(min(d))

logspace = np.logspace(min_val, max_val, 50)
H=hist(select,bins=logspace,histtype='step')

问题是这个情节不是我想要的。我想要我的数组d 的概率分布函数。我不想让每个箱子中的数组元素的数量,而是希望它们出现在那个箱子中的概率。我尝试使用 normed=True,但这似乎不起作用,因为我有同样对数空间的 bin。

【问题讨论】:

  • 50.0000 是指 50000 吗? 50万?
  • 您可能使用的是 matplotlib 中的 hist,而不是 numpy 中的 histogram

标签: python numpy probability histogram


【解决方案1】:

不清楚你的hist 函数是什么。如果您使用的是 NumPy 的 histogram,请尝试设置 density=True。见http://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html

【讨论】:

  • Matteo 可能使用的是 matplotlib 中的 hist,而不是 numpy 中的 histogram
  • 是的,我正在使用 matplotlib 中的 hist。我尝试使用密度 = True 的 numpy 直方图,但出现此错误:TypeError: histogram() got an unexpected keyword argument 'density'
  • 我也遇到了这个错误,但通过更新到 numpy 1.6.1 已修复。
猜你喜欢
  • 2016-07-09
  • 2014-07-04
  • 2017-10-17
  • 1970-01-01
  • 2014-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多