Skip to content
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

BUG: resample on TimedeltaIndex with closed=right takes no effect #45414

Closed
2 of 3 tasks
tfiasco opened this issue Jan 17, 2022 · 1 comment · Fixed by #45539
Closed
2 of 3 tasks

BUG: resample on TimedeltaIndex with closed=right takes no effect #45414

tfiasco opened this issue Jan 17, 2022 · 1 comment · Fixed by #45539
Labels
Bug Resample resample method
Milestone

Comments

@tfiasco
Copy link

tfiasco commented Jan 17, 2022

Pandas version checks

  • I have checked that this issue has not already been reported.

  • I have confirmed this bug exists on the latest version of pandas.

  • I have confirmed this bug exists on the main branch of pandas.

Reproducible Example

In [1]: import pandas as pd

In [2]: index = pd.Series([pd.Timedelta(seconds=120 + i * 30) for i in range(10)])

In [3]: series = pd.Series(range(10), index=index)

In [4]: series
Out[4]: 
0 days 00:02:00    0
0 days 00:02:30    1
0 days 00:03:00    2
0 days 00:03:30    3
0 days 00:04:00    4
0 days 00:04:30    5
0 days 00:05:00    6
0 days 00:05:30    7
0 days 00:06:00    8
0 days 00:06:30    9
dtype: int64

In [5]: series.resample('T', closed='left', label='left').sum()
Out[5]: 
0 days 00:02:00     1
0 days 00:03:00     5
0 days 00:04:00     9
0 days 00:05:00    13
0 days 00:06:00    17
Freq: T, dtype: int64

In [6]: series.resample('T', closed='right', label='right').sum()  # WRONG!
Out[6]: 
0 days 00:02:00     1
0 days 00:03:00     5
0 days 00:04:00     9
0 days 00:05:00    13
0 days 00:06:00    17
Freq: T, dtype: int64

Issue Description

closed=right argument takes no effect, the output is same as closed=left.

Expected Behavior

The same computation on a DatetimeIndex, which is the expected behavior:

In [7]: index = pd.Series([pd.Timedelta(seconds=120 + i * 30) for i in range(10)])

In [8]: index = index + pd.to_datetime('2000-01-01')

In [9]: series = pd.Series(range(10), index=index)

In [10]: series
Out[10]: 
2000-01-01 00:02:00    0
2000-01-01 00:02:30    1
2000-01-01 00:03:00    2
2000-01-01 00:03:30    3
2000-01-01 00:04:00    4
2000-01-01 00:04:30    5
2000-01-01 00:05:00    6
2000-01-01 00:05:30    7
2000-01-01 00:06:00    8
2000-01-01 00:06:30    9
dtype: int64

In [11]: series.resample('T', closed='left', label='left').sum()
Out[11]: 
2000-01-01 00:02:00     1
2000-01-01 00:03:00     5
2000-01-01 00:04:00     9
2000-01-01 00:05:00    13
2000-01-01 00:06:00    17
Freq: T, dtype: int64

In [12]: series.resample('T', closed='right', label='right').sum()  # RIGHT
Out[12]: 
2000-01-01 00:02:00     0
2000-01-01 00:03:00     3
2000-01-01 00:04:00     7
2000-01-01 00:05:00    11
2000-01-01 00:06:00    15
2000-01-01 00:07:00     9
Freq: T, dtype: int64

Installed Versions

INSTALLED VERSIONS

commit : 66e3805
python : 3.8.8.final.0
python-bits : 64
OS : Linux
OS-release : 4.9.130-0409130-generic
Version : #201809291131 SMP Sat Sep 29 11:33:40 UTC 2018
machine : x86_64
processor :
byteorder : little
LC_ALL : None
LANG : None
LOCALE : en_US.UTF-8

pandas : 1.3.5
numpy : 1.19.5
pytz : 2021.1
dateutil : 2.8.1
pip : 21.0.1
setuptools : 52.0.0.post20210125
Cython : None
pytest : 6.2.3
hypothesis : None
sphinx : None
blosc : None
feather : None
xlsxwriter : None
lxml.etree : None
html5lib : None
pymysql : 1.0.2
psycopg2 : None
jinja2 : 2.11.3
IPython : 7.22.0
pandas_datareader: None
bs4 : None
bottleneck : None
fsspec : 0.9.0
fastparquet : 0.7.1
gcsfs : None
matplotlib : 3.3.4
numexpr : None
odfpy : None
openpyxl : 3.0.7
pandas_gbq : None
pyarrow : 6.0.1
pyxlsb : None
s3fs : None
scipy : 1.6.2
sqlalchemy : 1.4.23
tables : None
tabulate : 0.8.9
xarray : 0.19.0
xlrd : 2.0.1
xlwt : None
numba : 0.53.1

@tfiasco tfiasco added Bug Needs Triage Issue that has not been reviewed by a pandas team member labels Jan 17, 2022
@attack68
Copy link
Contributor

#40245 should deprecate this arg in favour of inclusive

@jreback jreback added this to the 1.5 milestone Jan 21, 2022
@jreback jreback added Resample resample method and removed Needs Triage Issue that has not been reviewed by a pandas team member labels Jan 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Resample resample method
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants