Code Sample
>>> import numpy as np
>>> import pandas as pd
>>> arr = np.arange(100)
>>> s = pd.Series(arr)
>>> q1 = s.quantile(0.1)
>>> q2 = s.rolling(100).quantile(0.1).iloc[-1]
>>> q3 = s.quantile(0.1, interpolation='lower')
>>> q4 = s.rolling(100).apply(np.percentile, args=(10,)).iloc[-1]
>>> q5 = s.rolling(100).apply(np.percentile, args=(10, None, None, False, 'lower')).iloc[-1]
>>> np.isclose(q2, q1)
False
>>> np.isclose(q2, q3)
True
>>> np.isclose(q2, q4)
False
>>> np.isclose(q2, q5)
True
Problem description
Current implementation of quantile as a method of the rolling window behaves like the lower interpolation of Series.quantile and np.percentile. It would be nice if the default behavior was the same.
Expected Output
>>> import numpy as np
>>> import pandas as pd
>>> arr = np.arange(100)
>>> s = pd.Series(arr)
>>> q1 = s.quantile(0.1)
>>> q2 = s.rolling(100).quantile(0.1).iloc[-1]
>>> q3 = s.quantile(0.1, interpolation='lower')
>>> q4 = s.rolling(100).apply(np.percentile, args=(10,)).iloc[-1]
>>> q5 = s.rolling(100).apply(np.percentile, args=(10, None, None, False, 'lower')).iloc[-1]
>>> np.isclose(q2, q1)
True
>>> np.isclose(q2, q3)
False
>>> np.isclose(q2, q4)
True
>>> np.isclose(q2, q5)
False
INSTALLED VERSIONS
------------------
commit: None
python: 3.6.0.final.0
python-bits: 64
OS: Linux
OS-release: 4.10.8-1-ARCH
machine: x86_64
processor:
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8
LOCALE: en_US.UTF-8
pandas: 0.19.2
nose: None
pip: 9.0.1
setuptools: 34.4.1
Cython: 0.25.2
numpy: 1.12.1
scipy: 0.19.0
statsmodels: None
xarray: None
IPython: 5.3.0
sphinx: 1.5.4
patsy: None
dateutil: 2.6.0
pytz: 2017.2
blosc: None
bottleneck: None
tables: 3.3.0
numexpr: 2.6.2
matplotlib: 2.0.0
openpyxl: 2.4.5
xlrd: 1.0.0
xlwt: 1.2.0
xlsxwriter: 0.9.6
lxml: 3.7.3
bs4: None
html5lib: 0.999999999
httplib2: None
apiclient: None
sqlalchemy: 1.1.9
pymysql: None
psycopg2: 2.7.1 (dt dec pq3 ext lo64)
jinja2: 2.9.6
boto: None
pandas_datareader: 0.3.0.post
Comment From: jreback
dupe of #9413 yes this is pretty easy to fix if you'd like to submit a PR. see the duped issue.
Comment From: guillemborrell
Thanks. I'll take a look at it.
Comment From: guillemborrell
Please, see PR #16216