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

标签 python

我在 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 将始终相同。

关于Python:如何在给定数字数组的情况下绘制 cdf 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6149838/

相关文章:

python - flask : What exactly is @app

python - python-binance API 中的止损限价订单

python - 禁止 Django 自引用外键指向自身对象

python - Exchangelib OAUTH 身份验证 NonExistentMailbox 错误

python - 我们如何为 pandas 数据框的列标题和行标题着色?

python - 切板算法

python - 如何向 scikit-learn DictVectorizer 添加功能?

python /鼠尾草 : can lists start at index 1?

python - 在 numpy 数组中查找最常见的子数组

python - 纠正我使用发电机或告诉我其他方式