Skip to main content
 首页 » 编程设计

Python:如何在给定数字数组的情况下绘制 cdf 函数

2025年05月04日18lidabo

我在 Windows 上工作。我只想输入一个数组,得到数组的cdf。

请您参考如下方法:

首先,您可以像这样实现 CDF:

from bisect import bisect_left 
 
class discrete_cdf: 
    def __init__(self, data): 
        self._data = data # must be sorted 
        self._data_len = float(len(data)) 
 
    def __call__(self, point): 
        return (len(self._data[:bisect_left(self._data, point)]) / 
                self._data_len) 

使用上面的类,你可以这样绘制它:

from scipy.stats import norm 
import matplotlib.pyplot as plt 
 
cdf = discrete_cdf(your_data) 
xvalues = range(0, max(your_data)) 
yvalues = [cdf(point) for point in xvalues] 
plt.plot(xvalues, yvalues) 

编辑:arange 在那里没有意义,对于 x 和 x+1 之间的所有点,cdf 将始终相同。