pandas.DataFrame.plot.kde#
- DataFrame.plot.kde(bw_method=None, ind=None, weights=None, =**kwargs)[源代码]#
使用高斯核生成核密度估计图。
在统计学中,核密度估计 (KDE) 是一种估计随机变量概率密度函数 (PDF) 的非参数方法。此函数使用高斯核,并包含自动带宽确定。
- 参数:
- bw_methodstr, scalar 或 callable, optional
用于计算估计器带宽的方法。可以是 'scott'、'silverman'、标量常数或可调用对象。如果为 None(默认值),则使用 'scott'。有关更多信息,请参阅
scipy.stats.gaussian_kde。- indNumPy 数组或 int, optional
估计 PDF 的评估点。如果为 None(默认值),则使用 1000 个等距点。如果 ind 是 NumPy 数组,则在传入的点处评估 KDE。如果 ind 是整数,则使用 ind 个等距点。
- weightsNumPy 数组, optional
数据点的权重。这必须与数据点的形状相同。如果为 None(默认值),则假定样本权重相等。
- **kwargs
其他关键字参数记录在
DataFrame.plot()中。
- 返回:
- matplotlib.axes.Axes 或其 NumPy 数组
包含 KDE 图的 matplotlib 轴。
另请参阅
scipy.stats.gaussian_kde使用高斯核表示核密度估计。这是在内部用于估计 PDF 的函数。
示例
给定从未知分布中随机采样的点 Series,使用具有自动带宽确定的 KDE 来估计其 PDF,并绘制结果,在 1000 个等距点(默认)处进行评估。
>>> s = pd.Series([1, 2, 2.5, 3, 3.5, 4, 5]) >>> ax = s.plot.kde()
可以指定一个标量带宽。使用小的带宽值可能导致过拟合,而使用大的带宽值可能导致欠拟合。
>>> ax = s.plot.kde(bw_method=0.3)
>>> ax = s.plot.kde(bw_method=3)
最后,ind 参数决定了估计 PDF 图的评估点。
>>> ax = s.plot.kde(ind=[1, 2, 3, 4, 5])
对于 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()
可以指定一个标量带宽。使用小的带宽值可能导致过拟合,而使用大的带宽值可能导致欠拟合。
>>> ax = df.plot.kde(bw_method=0.3)
>>> ax = df.plot.kde(bw_method=3)
最后,ind 参数决定了估计 PDF 图的评估点。
>>> ax = df.plot.kde(ind=[1, 2, 3, 4, 5, 6])