pandas.Series.plot.density#

Series.plot.density(bw_method=None, ind=None, weights=None, **kwargs)[源代码]#

使用高斯核生成核密度估计图。

在统计学中,`核密度估计`_(KDE)是一种估计随机变量概率密度函数(PDF)的非参数方法。该函数使用高斯核并包括自动带宽确定。

参数:
bw_methodstr, 标量或可调用对象, 可选

用于计算估计器带宽的方法。这可以是 ‘scott’、’silverman’、一个标量常数或一个可调用对象。如果为 None(默认),则使用 ‘scott’。更多信息请参见 scipy.stats.gaussian_kde

indNumPy 数组或整数,可选

估计的PDF的评估点。如果为None(默认),则使用1000个等间距点。如果`ind`是一个NumPy数组,则在传递的点上评估KDE。如果`ind`是一个整数,则使用`ind`个等间距点。

权重NumPy 数组,可选

数据点的权重。这必须与数据点的形状相同。如果为 None(默认),则假定样本是等权重的。

**kwargs

其他关键字参数在 DataFrame.plot() 中记录。

返回:
matplotlib.axes.Axes 或 numpy.ndarray 的它们

包含 KDE 图的 matplotlib 轴。

参见

scipy.stats.gaussian_kde

使用高斯核表示核密度估计。这是内部用于估计PDF的函数。

例子

给定从未知分布中随机采样的一系列点,使用带有自动带宽确定的 KDE 估计其 PDF 并在 1000 个等间距点(默认)处绘制结果:

>>> s = pd.Series([1, 2, 2.5, 3, 3.5, 4, 5])
>>> ax = s.plot.kde()
../../_images/pandas-Series-plot-density-1.png

可以指定一个标量带宽。使用较小的带宽值可能导致过拟合,而使用较大的带宽值可能导致欠拟合:

>>> ax = s.plot.kde(bw_method=0.3)
../../_images/pandas-Series-plot-density-2.png
>>> ax = s.plot.kde(bw_method=3)
../../_images/pandas-Series-plot-density-3.png

最后,ind 参数决定了估计PDF图的评估点:

>>> ax = s.plot.kde(ind=[1, 2, 3, 4, 5])
../../_images/pandas-Series-plot-density-4.png

对于 DataFrame,它的工作方式相同:

>>> df = pd.DataFrame(
...     {
...         "x": [1, 2, 2.5, 3, 3.5, 4, 5],
...         "y": [4, 4, 4.5, 5, 5.5, 6, 6],
...     }
... )
>>> ax = df.plot.kde()
../../_images/pandas-Series-plot-density-5.png

可以指定一个标量带宽。使用较小的带宽值可能导致过拟合,而使用较大的带宽值可能导致欠拟合:

>>> ax = df.plot.kde(bw_method=0.3)
../../_images/pandas-Series-plot-density-6.png
>>> ax = df.plot.kde(bw_method=3)
../../_images/pandas-Series-plot-density-7.png

最后,ind 参数决定了估计PDF图的评估点:

>>> ax = df.plot.kde(ind=[1, 2, 3, 4, 5, 6])
../../_images/pandas-Series-plot-density-8.png