From 2a1e0d8646f33893339213d90a01b282ee3a9283 Mon Sep 17 00:00:00 2001 From: Antonio Molina Date: Sat, 10 Mar 2018 15:18:59 +0100 Subject: [PATCH 1/9] Improved documentation on bootstrap_plot --- pandas/plotting/_misc.py | 41 ++++++++++++++++++++++++++++++++-------- 1 file changed, 33 insertions(+), 8 deletions(-) diff --git a/pandas/plotting/_misc.py b/pandas/plotting/_misc.py index 45594e9c6ea95..3afe9f243bdfc 100644 --- a/pandas/plotting/_misc.py +++ b/pandas/plotting/_misc.py @@ -323,20 +323,45 @@ def f(t): def bootstrap_plot(series, fig=None, size=50, samples=500, **kwds): - """Bootstrap plot. + """ + Bootstrap plot on mean, median and mid-range statistics. + + The bootstrap plot is used to estimate the uncertainty of a statistic + by relaying on random sampling with replacement. This function will + generate bootstrapping plots for mean, median and mid-range statistics + for the given number of samples of the given size. Parameters ---------- - series: Time series - fig: matplotlib figure object, optional - size: number of data points to consider during each sampling - samples: number of times the bootstrap procedure is performed - kwds: optional keyword arguments for plotting commands, must be accepted - by both hist and plot + + series : pandas.Series + Pandas Series from where to get the samplings for the bootstrapping. + fig : matplotlib.figure.Figure, default None + If given, it will use the `fig` reference for plotting instead of + creating a new one with default parameters. + size : int, default 50 + Number of data points to consider during each sampling. It must be + greater or equal than the length of the `series`. + samples : int, default 500 + Number of times the bootstrap procedure is performed. + kwds : keywords + Options to pass to matplotlib plotting method. Returns ------- - fig: matplotlib figure + + fig : matplotlib.figure.Figure + Matplotlib figure + + Examples + -------- + + .. plot:: + :context: close-figs + + >>> from random import uniform + >>> s = pd.Series([uniform(0, 1) for _ in range(100)]) + >>> pd.plotting.bootstrap_plot(s) """ import random import matplotlib.pyplot as plt From 65fd12e3ec4a167195a6d3213b797a0a6b0dfa1f Mon Sep 17 00:00:00 2001 From: Antonio Molina Date: Sat, 10 Mar 2018 15:51:11 +0100 Subject: [PATCH 2/9] Improved documentation on bootstrap_plot --- pandas/plotting/_misc.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pandas/plotting/_misc.py b/pandas/plotting/_misc.py index 3afe9f243bdfc..920fbd8170596 100644 --- a/pandas/plotting/_misc.py +++ b/pandas/plotting/_misc.py @@ -353,6 +353,12 @@ def bootstrap_plot(series, fig=None, size=50, samples=500, **kwds): fig : matplotlib.figure.Figure Matplotlib figure + See Also + -------- + + pandas.DataFrame.plot : Basic plotting for DataFrame objects. + pandas.Series.plot : Basic plotting for Series objects. + Examples -------- @@ -361,7 +367,7 @@ def bootstrap_plot(series, fig=None, size=50, samples=500, **kwds): >>> from random import uniform >>> s = pd.Series([uniform(0, 1) for _ in range(100)]) - >>> pd.plotting.bootstrap_plot(s) + >>> fig = pd.plotting.bootstrap_plot(s) """ import random import matplotlib.pyplot as plt From d783d20a87fb3f72515952df403caed88718e3d8 Mon Sep 17 00:00:00 2001 From: Antonio Molina Date: Sat, 10 Mar 2018 16:03:56 +0100 Subject: [PATCH 3/9] Doc bootstrap_plot: Fixed some comments on pull requests --- pandas/plotting/_misc.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pandas/plotting/_misc.py b/pandas/plotting/_misc.py index 920fbd8170596..cc924f220a36c 100644 --- a/pandas/plotting/_misc.py +++ b/pandas/plotting/_misc.py @@ -349,13 +349,11 @@ def bootstrap_plot(series, fig=None, size=50, samples=500, **kwds): Returns ------- - fig : matplotlib.figure.Figure Matplotlib figure See Also -------- - pandas.DataFrame.plot : Basic plotting for DataFrame objects. pandas.Series.plot : Basic plotting for Series objects. @@ -365,8 +363,8 @@ def bootstrap_plot(series, fig=None, size=50, samples=500, **kwds): .. plot:: :context: close-figs - >>> from random import uniform - >>> s = pd.Series([uniform(0, 1) for _ in range(100)]) + >>> import numpy as np + >>> s = pd.Series(np.random.uniform(size=100)) >>> fig = pd.plotting.bootstrap_plot(s) """ import random From da6ee1d4d825178a1b981583b3f7d83bbf4a4ae0 Mon Sep 17 00:00:00 2001 From: Antonio Molina Date: Sun, 11 Mar 2018 17:43:52 +0100 Subject: [PATCH 4/9] Added reference to wikipedia --- pandas/plotting/_misc.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pandas/plotting/_misc.py b/pandas/plotting/_misc.py index cc924f220a36c..bbcf951a5cb94 100644 --- a/pandas/plotting/_misc.py +++ b/pandas/plotting/_misc.py @@ -352,6 +352,11 @@ def bootstrap_plot(series, fig=None, size=50, samples=500, **kwds): fig : matplotlib.figure.Figure Matplotlib figure + Notes + ----- + + .. [1] "Bootstrapping (statistics)" in https://en.wikipedia.org/wiki/Bootstrapping_%28statistics%29 + See Also -------- pandas.DataFrame.plot : Basic plotting for DataFrame objects. From bb99426d6986b4b02f43f4260fafe12315dd2aee Mon Sep 17 00:00:00 2001 From: Antonio Molina Date: Sun, 11 Mar 2018 17:50:41 +0100 Subject: [PATCH 5/9] Changed kwds for **kwds --- pandas/plotting/_misc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandas/plotting/_misc.py b/pandas/plotting/_misc.py index bbcf951a5cb94..0f7a15029cde6 100644 --- a/pandas/plotting/_misc.py +++ b/pandas/plotting/_misc.py @@ -344,7 +344,7 @@ def bootstrap_plot(series, fig=None, size=50, samples=500, **kwds): greater or equal than the length of the `series`. samples : int, default 500 Number of times the bootstrap procedure is performed. - kwds : keywords + **kwds : keywords Options to pass to matplotlib plotting method. Returns From b76ca7b95d80429534795d0d8a2f2290956c12f9 Mon Sep 17 00:00:00 2001 From: Antonio Molina Date: Sun, 11 Mar 2018 17:52:41 +0100 Subject: [PATCH 6/9] Removed ** from kwds becuase of validation iuses --- pandas/plotting/_misc.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pandas/plotting/_misc.py b/pandas/plotting/_misc.py index 0f7a15029cde6..89f271e9dd3e9 100644 --- a/pandas/plotting/_misc.py +++ b/pandas/plotting/_misc.py @@ -344,7 +344,7 @@ def bootstrap_plot(series, fig=None, size=50, samples=500, **kwds): greater or equal than the length of the `series`. samples : int, default 500 Number of times the bootstrap procedure is performed. - **kwds : keywords + kwds : keywords Options to pass to matplotlib plotting method. Returns @@ -355,7 +355,8 @@ def bootstrap_plot(series, fig=None, size=50, samples=500, **kwds): Notes ----- - .. [1] "Bootstrapping (statistics)" in https://en.wikipedia.org/wiki/Bootstrapping_%28statistics%29 + .. [1] "Bootstrapping (statistics)" in + https://en.wikipedia.org/wiki/Bootstrapping_%28statistics%29 See Also -------- From 20cf0176a32ab59694a48b62749022359d42613f Mon Sep 17 00:00:00 2001 From: Antonio Molina Date: Sun, 11 Mar 2018 18:07:11 +0100 Subject: [PATCH 7/9] Fixed forgotten break line. I think that the kwds paramater now fits what expected @TomAugspurger. If not, sorry and indicate how it should be --- pandas/plotting/_misc.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pandas/plotting/_misc.py b/pandas/plotting/_misc.py index 89f271e9dd3e9..1bf4c3cce7dee 100644 --- a/pandas/plotting/_misc.py +++ b/pandas/plotting/_misc.py @@ -333,7 +333,6 @@ def bootstrap_plot(series, fig=None, size=50, samples=500, **kwds): Parameters ---------- - series : pandas.Series Pandas Series from where to get the samplings for the bootstrapping. fig : matplotlib.figure.Figure, default None @@ -344,7 +343,7 @@ def bootstrap_plot(series, fig=None, size=50, samples=500, **kwds): greater or equal than the length of the `series`. samples : int, default 500 Number of times the bootstrap procedure is performed. - kwds : keywords + **kwds : Options to pass to matplotlib plotting method. Returns From d87f016e21a55f5204f754b817fb02e3709eb1aa Mon Sep 17 00:00:00 2001 From: Antonio Molina Date: Sun, 11 Mar 2018 18:14:10 +0100 Subject: [PATCH 8/9] Fixed warnings on compilation --- pandas/plotting/_misc.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pandas/plotting/_misc.py b/pandas/plotting/_misc.py index 1bf4c3cce7dee..b65a33cbc3df3 100644 --- a/pandas/plotting/_misc.py +++ b/pandas/plotting/_misc.py @@ -327,7 +327,7 @@ def bootstrap_plot(series, fig=None, size=50, samples=500, **kwds): Bootstrap plot on mean, median and mid-range statistics. The bootstrap plot is used to estimate the uncertainty of a statistic - by relaying on random sampling with replacement. This function will + by relaying on random sampling with replacement [1]_. This function will generate bootstrapping plots for mean, median and mid-range statistics for the given number of samples of the given size. @@ -354,7 +354,7 @@ def bootstrap_plot(series, fig=None, size=50, samples=500, **kwds): Notes ----- - .. [1] "Bootstrapping (statistics)" in + .. [1] "Bootstrapping (statistics)" in \ https://en.wikipedia.org/wiki/Bootstrapping_%28statistics%29 See Also From b2ab30f7fa55350f965a5fd503c6880b04e9b773 Mon Sep 17 00:00:00 2001 From: Antonio Molina Date: Sun, 11 Mar 2018 18:30:41 +0100 Subject: [PATCH 9/9] Moved reference to extended description --- pandas/plotting/_misc.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/pandas/plotting/_misc.py b/pandas/plotting/_misc.py index b65a33cbc3df3..507bdb755e1d7 100644 --- a/pandas/plotting/_misc.py +++ b/pandas/plotting/_misc.py @@ -331,6 +331,9 @@ def bootstrap_plot(series, fig=None, size=50, samples=500, **kwds): generate bootstrapping plots for mean, median and mid-range statistics for the given number of samples of the given size. + .. [1] "Bootstrapping (statistics)" in \ + https://en.wikipedia.org/wiki/Bootstrapping_%28statistics%29 + Parameters ---------- series : pandas.Series @@ -351,12 +354,6 @@ def bootstrap_plot(series, fig=None, size=50, samples=500, **kwds): fig : matplotlib.figure.Figure Matplotlib figure - Notes - ----- - - .. [1] "Bootstrapping (statistics)" in \ - https://en.wikipedia.org/wiki/Bootstrapping_%28statistics%29 - See Also -------- pandas.DataFrame.plot : Basic plotting for DataFrame objects.