python 绘制频数与正太分布图

描述性统计

df.describe()

python 绘制频数与正太分布图_第1张图片

中位数

norm['monthly_lifespan'].median()

众数

counts = np.bincount(norm['monthly_lifespan'])  
#返回众数  
np.argmax(counts)  

绘制

def normfun(x, mu, sigma):
    pdf = np.exp(-((x - mu) ** 2) / (2 * sigma ** 2)) / (sigma * np.sqrt(2 * np.pi))
    return pdf

def plot_(df): 
    length = df['monthly_lifespan'] # 获得长度数据集
    mean = length.mean() # 获得数据集的平均值
    std = length.std()   # 获得数据集的标准差


    # 设定X轴:前两个数字是X轴的起止范围,第三个数字表示步长
    # 步长设定得越小,画出来的正态分布曲线越平滑
    x = np.arange(0, 88, 0.1)
    # 设定Y轴,载入刚才定义的正态分布函数
    y = normfun(x, mean, std)
    # 绘制数据集的正态分布曲线
    plt.plot(x, y)

    # 绘制数据集的直方图
    plt.hist(length, bins=12, rwidth=0.9, density=True)
    plt.title('Normal User distribution')
    plt.xlabel('Length')
    plt.ylabel('Probability')

    # 输出正态分布曲线和直方图
    plt.show()

python 绘制频数与正太分布图_第2张图片

你可能感兴趣的:(python)