Rolling Data Frames Don't Include Index Values #21236
Labels
Duplicate Report
Duplicate issue or pull request
Reshaping
Concat, Merge/Join, Stack/Unstack, Explode
t = pd.DataFrame(np.random.uniform(0,1,[100,100]),index=np.random.uniform(0,1,100)).rolling(10).apply(lambda x:
x.argmax()).tail()``The above code shows only integer values. However, the index defined is solely in floats (no integers).
0.886683 1.0 4.0 1.0 7.0 3.0 6.0 2.0 7.0 5.0 4.0 ...
0.932133 9.0 3.0 0.0 6.0 2.0 9.0 1.0 6.0 4.0 3.0 ...
0.555330 8.0 2.0 4.0 5.0 9.0 8.0 0.0 5.0 3.0 2.0 ...
0.369954 7.0 1.0 3.0 4.0 8.0 7.0 5.0 4.0 2.0 1.0 ...
0.793682 6.0 0.0 2.0 3.0 7.0 9.0 4.0 3.0 1.0 0.0 ...
The reason here is that what gets passed into the rolling data frame is a ndarray and not a data frame so access to the index isn't possible. This limits the rolling function's usefulness especially when dealing with time series data where the index can matter a lot.
Output of
pd.show_versions()
INSTALLED VERSIONS
commit: None
python: 3.6.3.final.0
python-bits: 64
OS: Windows
OS-release: 10
machine: AMD64
processor: Intel64 Family 6 Model 158 Stepping 9, GenuineIntel
byteorder: little
LC_ALL: None
LANG: en
LOCALE: None.None
pandas: 0.20.3
pytest: 3.2.1
pip: 9.0.1
setuptools: 36.5.0.post20170921
Cython: 0.26.1
numpy: 1.13.3
scipy: 0.19.1
xarray: None
IPython: 6.1.0
sphinx: 1.6.3
patsy: 0.4.1
dateutil: 2.6.1
pytz: 2017.2
blosc: None
bottleneck: 1.2.1
tables: 3.4.2
numexpr: 2.6.2
feather: None
matplotlib: 2.1.0
openpyxl: 2.4.8
xlrd: 1.1.0
xlwt: 1.3.0
xlsxwriter: 1.0.2
lxml: 4.1.0
bs4: 4.6.0
html5lib: 0.9999999
sqlalchemy: 1.1.13
pymysql: None
psycopg2: None
jinja2: 2.9.6
s3fs: None
pandas_gbq: None
pandas_datareader: None
The text was updated successfully, but these errors were encountered: