通过从文件中读取值来绘制 CDF:matplotlib

我需要绘制从文件中读取的整数值的 cdf。我正在按照此处的示例进行操作。我不确定如何规范化 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()


GCT1015
浏览 136回答 1
1回答

万千封印

我可以提出一个答案,您可以在其中使用 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。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python