如何在(季节性的)KDE图中找到中位数?

如何在(季节性的)KDE图中找到中位数?,第1张

如何在(季节性的)KDE图中找到中位数

你需要:

  1. 提取kde行的数据
  2. 对其进行积分以计算累积分布函数(CDF)
  3. 找到使CDF等于1/2的值,即中位数

    import numpy as np
    import scipy
    import seaborn as sns
    import matplotlib.pyplot as plt


    sns.set_palette(“hls”, 1)
    data = np.random.randn(30)
    p=sns.kdeplot(data, shade=True)

    x,y = p.get_lines()[0].get_data()

    care with the order, it is first yinitial fills a 0 so the result has same length than x

    cdf = scipy.integrate.cumtrapz(y, x, initial=0)

    nearest_05 = np.abs(cdf-0.5).argmin()

    x_median = x[nearest_05]
    y_median = y[nearest_05]

    plt.vlines(x_median, 0, y_median)
    plt.show()



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4897382.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存