@@ -1380,6 +1380,50 @@ def orientation(self):
1380
1380
return 'vertical'
1381
1381
1382
1382
1383
+ _kde_docstring = """
1384
+ Generate Kernel Density Estimate plot using Gaussian kernels.
1385
+
1386
+ In statistics, `kernel density estimation`_ (KDE) is a non-parametric
1387
+ way to estimate the probability density function (PDF) of a random
1388
+ variable. This function uses Gaussian kernels and includes automatic
1389
+ bandwith determination.
1390
+
1391
+ .. _kernel density estimation:
1392
+ https://en.wikipedia.org/wiki/Kernel_density_estimation
1393
+
1394
+ Parameters
1395
+ ----------
1396
+ bw_method : str, scalar or callable, optional
1397
+ The method used to calculate the estimator bandwidth. This can be
1398
+ 'scott', 'silverman', a scalar constant or a callable.
1399
+ If None (default), 'scott' is used.
1400
+ See :class:`scipy.stats.gaussian_kde` for more information.
1401
+ ind : NumPy array or integer, optional
1402
+ Evaluation points for the estimated PDF. If None (default),
1403
+ 1000 equally spaced points are used. If `ind` is a NumPy array, the
1404
+ KDE is evaluated at the points passed. If `ind` is an integer,
1405
+ `ind` number of equally spaced points are used.
1406
+ **kwds : optional
1407
+ Additional keyword arguments are documented in
1408
+ :meth:`pandas.%(this-datatype)s.plot`.
1409
+
1410
+ Returns
1411
+ -------
1412
+ axes : matplotlib.AxesSubplot or np.array of them
1413
+
1414
+ See Also
1415
+ --------
1416
+ scipy.stats.gaussian_kde : Representation of a kernel-density
1417
+ estimate using Gaussian kernels. This is the function used
1418
+ internally to estimate the PDF.
1419
+ %(sibling-datatype)s.plot.kde : Generate a KDE plot for a
1420
+ %(sibling-datatype)s.
1421
+
1422
+ Examples
1423
+ --------
1424
+ %(examples)s
1425
+ """
1426
+
1383
1427
class KdePlot (HistPlot ):
1384
1428
_kind = 'kde'
1385
1429
orientation = 'vertical'
@@ -2616,49 +2660,12 @@ def hist(self, bins=10, **kwds):
2616
2660
"""
2617
2661
return self (kind = 'hist' , bins = bins , ** kwds )
2618
2662
2619
- def kde (self , bw_method = None , ind = None , ** kwds ):
2620
- """
2621
- Generate Kernel Density Estimate plot using Gaussian kernels.
2622
-
2623
- In statistics, `kernel density estimation`_ (KDE) is a non-parametric
2624
- way to estimate the probability density function (PDF) of a random
2625
- variable. This function uses Gaussian kernels and includes automatic
2626
- bandwith determination.
2627
-
2628
- .. _kernel density estimation:
2629
- https://en.wikipedia.org/wiki/Kernel_density_estimation
2630
-
2631
- Parameters
2632
- ----------
2633
- bw_method : str, scalar or callable, optional
2634
- The method used to calculate the estimator bandwidth. This can be
2635
- 'scott', 'silverman', a scalar constant or a callable.
2636
- If None (default), 'scott' is used.
2637
- See :class:`scipy.stats.gaussian_kde` for more information.
2638
- ind : NumPy array or integer, optional
2639
- Evaluation points for the estimated PDF. If None (default),
2640
- 1000 equally spaced points are used. If `ind` is a NumPy array, the
2641
- KDE is evaluated at the points passed. If `ind` is an integer,
2642
- `ind` number of equally spaced points are used.
2643
- **kwds : optional
2644
- Additional keyword arguments are documented in
2645
- :meth:`pandas.Series.plot`.
2646
-
2647
- Returns
2648
- -------
2649
- axes : matplotlib.AxesSubplot or np.array of them
2650
-
2651
- See Also
2652
- --------
2653
- scipy.stats.gaussian_kde : Representation of a kernel-density
2654
- estimate using Gaussian kernels. This is the function used
2655
- internally to estimate the PDF.
2656
- DataFrame.plot.kde : Generate a KDE plot for a DataFrame.
2657
-
2658
- Examples
2659
- --------
2663
+ @Appender (_kde_docstring % {
2664
+ 'this-datatype' : 'Series' ,
2665
+ 'sibling-datatype' : 'DataFrame' ,
2666
+ 'examples' : """
2660
2667
Given a Series of points randomly sampled from an unknown
2661
- distribution, estimate its distribution using KDE with automatic
2668
+ distribution, estimate its PDF using KDE with automatic
2662
2669
bandwidth determination and plot the results, evaluating them at
2663
2670
1000 equally spaced points (default):
2664
2671
@@ -2689,7 +2696,9 @@ def kde(self, bw_method=None, ind=None, **kwds):
2689
2696
:context: close-figs
2690
2697
2691
2698
>>> ax = s.plot.kde(ind=[1, 2, 3, 4, 5])
2692
- """
2699
+ """ .strip ()
2700
+ })
2701
+ def kde (self , bw_method = None , ind = None , ** kwds ):
2693
2702
return self (kind = 'kde' , bw_method = bw_method , ind = ind , ** kwds )
2694
2703
2695
2704
density = kde
@@ -2852,49 +2861,12 @@ def hist(self, by=None, bins=10, **kwds):
2852
2861
"""
2853
2862
return self (kind = 'hist' , by = by , bins = bins , ** kwds )
2854
2863
2855
- def kde (self , bw_method = None , ind = None , ** kwds ):
2856
- """
2857
- Generate Kernel Density Estimate plot using Gaussian kernels.
2858
-
2859
- In statistics, `kernel density estimation`_ (KDE) is a non-parametric
2860
- way to estimate the probability density function (PDF) of a random
2861
- variable. This function uses Gaussian kernels and includes automatic
2862
- bandwith determination.
2863
-
2864
- .. _kernel density estimation:
2865
- https://en.wikipedia.org/wiki/Kernel_density_estimation
2866
-
2867
- Parameters
2868
- ----------
2869
- bw_method : str, scalar or callable, optional
2870
- The method used to calculate the estimator bandwidth. This can be
2871
- 'scott', 'silverman', a scalar constant or a callable.
2872
- If None (default), 'scott' is used.
2873
- See :class:`scipy.stats.gaussian_kde` for more information.
2874
- ind : NumPy array or integer, optional
2875
- Evaluation points for the estimated PDF. If None (default),
2876
- 1000 equally spaced points are used. If `ind` is a NumPy array, the
2877
- KDE is evaluated at the points passed. If `ind` is an integer,
2878
- `ind` number of equally spaced points are used.
2879
- **kwds : optional
2880
- Additional keyword arguments are documented in
2881
- :meth:`pandas.DataFrame.plot`.
2882
-
2883
- Returns
2884
- -------
2885
- axes : matplotlib.AxesSubplot or np.array of them
2886
-
2887
- See Also
2888
- --------
2889
- scipy.stats.gaussian_kde : Representation of a kernel-density
2890
- estimate using Gaussian kernels. This is the function used
2891
- internally to estimate the PDF.
2892
- Series.plot.kde : Generate a KDE plot for a Series.
2893
-
2894
- Examples
2895
- --------
2864
+ @Appender (_kde_docstring % {
2865
+ 'this-datatype' : 'DataFrame' ,
2866
+ 'sibling-datatype' : 'Series' ,
2867
+ 'examples' : """
2896
2868
Given several Series of points randomly sampled from unknown
2897
- distributions, estimate their distribution using KDE with automatic
2869
+ distributions, estimate their PDFs using KDE with automatic
2898
2870
bandwidth determination and plot the results, evaluating them at
2899
2871
1000 equally spaced points (default):
2900
2872
@@ -2928,7 +2900,9 @@ def kde(self, bw_method=None, ind=None, **kwds):
2928
2900
:context: close-figs
2929
2901
2930
2902
>>> ax = df.plot.kde(ind=[1, 2, 3, 4, 5, 6])
2931
- """
2903
+ """ .strip ()
2904
+ })
2905
+ def kde (self , bw_method = None , ind = None , ** kwds ):
2932
2906
return self (kind = 'kde' , bw_method = bw_method , ind = ind , ** kwds )
2933
2907
2934
2908
density = kde
0 commit comments