Вы можете использовать следующий базовый синтаксис для вычисления кумулятивной функции распределения (CDF) в Python:
#sort data
x = np.sort (data)
#calculate CDF values
y = 1. \* np.arange (len(data)) / (len(data) - 1)
#plot CDF
plt.plot (x, y)
В следующих примерах показано, как использовать этот синтаксис на практике.
Пример 1: CDF случайного распределения
В следующем коде показано, как рассчитать и построить кумулятивную функцию распределения (CDF) для случайной выборки данных в Python:
import numpy as np
import matplotlib.pyplot as plt
#define random sample of data
data = np.random.randn (10000)
#sort data
x = np.sort (data)
#calculate CDF values
y = 1. \* np.arange (len(data)) / (len(data) - 1)
#plot CDF
plt.plot (x, y)
plt.xlabel('x')

По оси X отображаются необработанные значения данных, а по оси Y — соответствующие значения CDF.
Пример 2: CDF нормального распределения
Если вы хотите построить кумулятивную функцию распределения известного распределения (например, нормального распределения ), вы можете использовать следующие функции из библиотеки SciPy :
import numpy as np
import scipy
import matplotlib.pyplot as plt
#generate data from normal distribution
data = np.random.randn (1000)
#sort data
x = np.sort (data)
#calculate CDF values
y = scipy. stats.norm.cdf (x)
#plot CDF
plt.plot (data_sorted, norm_cdf)
#plot CDF
plt.plot (x, y)
plt.xlabel('x')

Дополнительные ресурсы
CDF и PDF: в чем разница?
Как сделать кривую нормального распределения в Python
Как рассчитать Z-показатели в Python