dev*_*ist 12 python kernel-density pandas
该pandas.plot.kde()
函数可以方便地绘制连续随机变量的估计密度函数。它将数据x作为输入,并显示分箱输入的概率p(x)作为其输出。
如何提取它计算的概率值?我想要一个包含内部计算的概率值的数组或 pandas 系列,而不是仅仅绘制带宽样本的概率。
如果这不能用 pandas kde 完成,请告诉我 scipy 或其他中的任何等效项
My *_*ork 16
有几种方法可以做到这一点。您可以自己计算或从图中获取。
data.plot.kde().get_lines()[0].get_xydata()
Run Code Online (Sandbox Code Playgroud)
seaborn
,然后与 1) 中相同:您可以使用seaborn来估计内核密度,然后matplotlib
提取值(如本文中所示)。您可以使用distplot
或kdeplot
:
import seaborn as sns
# kde plot
x,y = sns.kdeplot(data).get_lines()[0].get_data()
# distplot
x,y = sns.distplot(data, hist=False).get_lines()[0].get_data()
Run Code Online (Sandbox Code Playgroud)
pandas
:import scipy.stats
density = scipy.stats.gaussian_kde(data)
Run Code Online (Sandbox Code Playgroud)
然后你可以用它来评估一组点:
x = np.linspace(0,80,200)
y = density(xs)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10660 次 |
最近记录: |