Skip to content

rolling with custom weights does not work #12765

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
mlazarew opened this issue Apr 1, 2016 · 3 comments
Closed

rolling with custom weights does not work #12765

mlazarew opened this issue Apr 1, 2016 · 3 comments
Labels
Duplicate Report Duplicate issue or pull request Error Reporting Incorrect or improved errors from pandas Reshaping Concat, Merge/Join, Stack/Unstack, Explode

Comments

@mlazarew
Copy link

mlazarew commented Apr 1, 2016

Code Sample, a copy-pastable example if possible

import pandas as pd

In [1]: df = pd.DataFrame([1,1,1,1])

In [2]: pd.rolling_window(df, window=[1,1], mean=False)
C:\Users\login\AppData\Local\Continuum\Anaconda3\lib\site-packages\spyderlib\widgets\externalshell\start_ipython_kernel.py:1: FutureWarning: pd.rolling_sum is deprecated for DataFrame and will be removed in a future version, replace with
DataFrame.rolling(window=[1, 1],center=False,axis=0).sum()

-- coding: utf-8 --

Traceback (most recent call last):

File "", line 1, in
pd.rolling_window(pd.DataFrame([1,1,1,1]), window=[1,1], mean=False)

File "C:\Users\login\AppData\Local\Continuum\Anaconda3\lib\site-packages\pandas\stats\moments.py", line 657, in rolling_window
**kwargs)

File "C:\Users\login\AppData\Local\Continuum\Anaconda3\lib\site-packages\pandas\stats\moments.py", line 240, in ensure_compat
result = getattr(r, name)(_args, *_kwds)

File "C:\Users\login\AppData\Local\Continuum\Anaconda3\lib\site-packages\pandas\core\window.py", line 789, in sum
return super(Rolling, self).sum(**kwargs)

File "C:\Users\login\AppData\Local\Continuum\Anaconda3\lib\site-packages\pandas\core\window.py", line 552, in sum
return self._apply('roll_sum', **kwargs)

File "C:\Users\login\AppData\Local\Continuum\Anaconda3\lib\site-packages\pandas\core\window.py", line 487, in _apply
result = np.apply_along_axis(calc, self.axis, values)

File "C:\Users\login\AppData\Local\Continuum\Anaconda3\lib\site-packages\numpy\lib\shape_base.py", line 91, in apply_along_axis
res = func1d(arr[tuple(i.tolist())], _args, *_kwargs)

File "C:\Users\login\AppData\Local\Continuum\Anaconda3\lib\site-packages\pandas\core\window.py", line 484, in calc
return func(x, window, min_periods=self.min_periods)

File "C:\Users\login\AppData\Local\Continuum\Anaconda3\lib\site-packages\pandas\core\window.py", line 471, in func
window, minp, **kwargs)

File "pandas\algos.pyx", line 901, in pandas.algos.roll_sum (pandas\algos.c:28213)

TypeError: an integer is required

In [3]: df.rolling(window=[1, 1],center=False,axis=0).sum()
Traceback (most recent call last):

File "", line 1, in
df.rolling(window=[1, 1],center=False,axis=0).sum()

File "C:\Users\login\AppData\Local\Continuum\Anaconda3\lib\site-packages\pandas\core\window.py", line 789, in sum
return super(Rolling, self).sum(**kwargs)

File "C:\Users\login\AppData\Local\Continuum\Anaconda3\lib\site-packages\pandas\core\window.py", line 552, in sum
return self._apply('roll_sum', **kwargs)

File "C:\Users\login\AppData\Local\Continuum\Anaconda3\lib\site-packages\pandas\core\window.py", line 487, in _apply
result = np.apply_along_axis(calc, self.axis, values)

File "C:\Users\login\AppData\Local\Continuum\Anaconda3\lib\site-packages\numpy\lib\shape_base.py", line 91, in apply_along_axis
res = func1d(arr[tuple(i.tolist())], _args, *_kwargs)

File "C:\Users\login\AppData\Local\Continuum\Anaconda3\lib\site-packages\pandas\core\window.py", line 484, in calc
return func(x, window, min_periods=self.min_periods)

File "C:\Users\login\AppData\Local\Continuum\Anaconda3\lib\site-packages\pandas\core\window.py", line 471, in func
window, minp, **kwargs)

File "pandas\algos.pyx", line 901, in pandas.algos.roll_sum (pandas\algos.c:28213)

TypeError: an integer is required

Expected Output

[NA, 2, 2, 2]

output of pd.show_versions()

INSTALLED VERSIONS

commit: None
python: 3.5.1.final.0
python-bits: 64
OS: Windows
OS-release: 7
machine: AMD64
processor: Intel64 Family 6 Model 26 Stepping 5, GenuineIntel
byteorder: little
LC_ALL: None
LANG: en_US

pandas: 0.18.0
nose: 1.3.7
pip: 8.1.1
setuptools: 20.3
Cython: 0.23.4
numpy: 1.10.4
scipy: 0.17.0
statsmodels: 0.6.1
xarray: None
IPython: 4.1.2
sphinx: 1.3.1
patsy: 0.4.0
dateutil: 2.5.1
pytz: 2016.2
blosc: None
bottleneck: 1.0.0
tables: 3.2.2
numexpr: 2.5
matplotlib: 1.5.1
openpyxl: 2.3.2
xlrd: 0.9.4
xlwt: 1.0.0
xlsxwriter: 0.8.4
lxml: 3.6.0
bs4: 4.4.1
html5lib: None
httplib2: None
apiclient: None
sqlalchemy: 1.0.12
pymysql: None
psycopg2: None
jinja2: 2.8
boto: 2.39.0

@jreback
Copy link
Contributor

jreback commented Apr 1, 2016

This is a duplicate of #12669

you need to pass win_type. pd.rolling_window is deprecated as well.

In [10]: df.rolling(window=[1,1], win_type='boxcar').sum()
Out[10]: 
     0
0  NaN
1  2.0
2  2.0
3  2.0

In [11]: pd.rolling_window(df, win_type='boxcar', window=[1,1], mean=False)
/Users/jreback/miniconda/bin/ipython:1: FutureWarning: pd.rolling_sum is deprecated for DataFrame and will be removed in a future version, replace with 
        DataFrame.rolling(win_type=boxcar,center=False,window=[1, 1],axis=0).sum()
  #!/bin/bash /Users/jreback/miniconda/bin/python.app
Out[11]: 
     0
0  NaN
1  2.0
2  2.0
3  2.0

@jreback jreback closed this as completed Apr 1, 2016
@jreback jreback added Reshaping Concat, Merge/Join, Stack/Unstack, Explode Duplicate Report Duplicate issue or pull request Error Reporting Incorrect or improved errors from pandas labels Apr 1, 2016
@mlazarew
Copy link
Author

mlazarew commented Apr 1, 2016

Thank you! That is what I was looking for - could not find in docs.

@jreback
Copy link
Contributor

jreback commented Apr 1, 2016

would u like to update docs to make more helpful? (or doc-strings)?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Duplicate Report Duplicate issue or pull request Error Reporting Incorrect or improved errors from pandas Reshaping Concat, Merge/Join, Stack/Unstack, Explode
Projects
None yet
Development

No branches or pull requests

2 participants