diff options
Diffstat (limited to 'dev-python/statsmodels/files')
-rw-r--r-- | dev-python/statsmodels/files/statsmodels-0.12.2-new-pandas-scipy.patch | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/dev-python/statsmodels/files/statsmodels-0.12.2-new-pandas-scipy.patch b/dev-python/statsmodels/files/statsmodels-0.12.2-new-pandas-scipy.patch new file mode 100644 index 000000000000..3015147fc2c5 --- /dev/null +++ b/dev-python/statsmodels/files/statsmodels-0.12.2-new-pandas-scipy.patch @@ -0,0 +1,73 @@ +From 4f32f3990fbba0ee440af47e23a9354fdb7a0285 Mon Sep 17 00:00:00 2001 +From: Kevin Sheppard <kevin.sheppard@gmail.com> +Date: Fri, 12 Mar 2021 10:52:38 +0000 +Subject: [PATCH] MAINT: Fix issues arising from future changes + +Fix issues due to changes in SciPy and pandas +--- + statsmodels/regression/tests/test_rolling.py | 6 ++++-- + statsmodels/stats/descriptivestats.py | 8 +++++++- + statsmodels/stats/stattools.py | 4 +++- + 3 files changed, 14 insertions(+), 4 deletions(-) + +diff --git a/statsmodels/regression/tests/test_rolling.py b/statsmodels/regression/tests/test_rolling.py +index 050de605f..f02e076d6 100644 +--- a/statsmodels/regression/tests/test_rolling.py ++++ b/statsmodels/regression/tests/test_rolling.py +@@ -1,5 +1,6 @@ + from io import BytesIO + from itertools import product ++import warnings + + import numpy as np + import pandas as pd +@@ -261,8 +262,9 @@ def test_plot(): + res.plot_recursive_coefficient(variables="x4") + + fig = plt.Figure() +- with pytest.warns(Warning): +- # Just silence the warning ++ # Just silence the warning ++ with warnings.catch_warnings(): ++ warnings.simplefilter("ignore") + out = res.plot_recursive_coefficient(fig=fig) + assert out is fig + res.plot_recursive_coefficient(alpha=None, figsize=(30, 7)) +diff --git a/statsmodels/stats/descriptivestats.py b/statsmodels/stats/descriptivestats.py +index 96d455ca1..d5ad2f2a5 100644 +--- a/statsmodels/stats/descriptivestats.py ++++ b/statsmodels/stats/descriptivestats.py +@@ -446,8 +446,14 @@ class Description: + else: + iqr = mean + ++ def _safe_jarque_bera(c): ++ a = np.asarray(c) ++ if a.shape[0] < 2: ++ return (np.nan,) * 4 ++ return jarque_bera(a) ++ + jb = df.apply( +- lambda x: list(jarque_bera(x.dropna())), result_type="expand" ++ lambda x: list(_safe_jarque_bera(x.dropna())), result_type="expand" + ).T + nan_mean = mean.copy() + nan_mean.loc[nan_mean == 0] = np.nan +diff --git a/statsmodels/stats/stattools.py b/statsmodels/stats/stattools.py +index d349c472d..2ee1a6e0b 100644 +--- a/statsmodels/stats/stattools.py ++++ b/statsmodels/stats/stattools.py +@@ -118,7 +118,9 @@ def jarque_bera(resids, axis=0): + where n is the number of data points, S is the sample skewness, and K is + the sample kurtosis of the data. + """ +- resids = np.asarray(resids) ++ resids = np.atleast_1d(np.asarray(resids, dtype=float)) ++ if resids.size < 2: ++ raise ValueError("resids must contain at least 2 elements") + # Calculate residual skewness and kurtosis + skew = stats.skew(resids, axis=axis) + kurtosis = 3 + stats.kurtosis(resids, axis=axis) +-- +2.32.0 + |