通过从file:matplotlib读取值来绘制CDF

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过从file:matplotlib读取值来绘制CDF相关的知识,希望对你有一定的参考价值。

我需要绘制从文件中读取的整数值的cdf。我正在关注here的例子。我不知道如何规范化pdf数据然后计算cdf。

import numpy as np
from pylab import *

with open ("D:/input_file.txt", "r+") as f:
    data = f.readlines()
    X = [int(line.strip()) for line in data]
    Y  = exp([-x**2 for x in X])  # is this correct? 

    # Normalize the data to a proper PDF
    Y /= ... # not sure what to write here

    # Compute the CDF
    CY = ... # not sure what to write here

    # Plot both
    plot(X,Y)
    plot(X,CY,'r--')

    show()
答案

我可以提出一个答案,您可以使用NumPy确定概率密度函数(PDF)和累积分布函数(CDF)。

import numpy as np
# -----------------
data = [88,93,184,91,107,170,88,107,167,90];
# -----------------
# get PDF:
ydata,xdata = np.histogram(data,bins=np.size(data),normed=True);
# ----------------
# get CDF:
cdf = np.cumsum(ydata*np.diff(xdata));
# -----------------
print 'Sum:',np.sum(ydata*np.diff(xdata))

我正在使用Numpy方法直方图,它将给我PDF,然后我将从PDF计算CDF。

以上是关于通过从file:matplotlib读取值来绘制CDF的主要内容,如果未能解决你的问题,请参考以下文章

无法通过从 JsonObject 获取值来编译代码

如何通过从另一个下拉列表中选择值来填充下拉列表?

如何通过从数据库中获取像素值来为图像着色

如何通过从数据库中获取值来制作可靠的下拉列表

如何通过从数据库中检索值来显示文本框中的值?

通过从每个集合中仅选择一个值来选择 k 个大小的子集