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

TimedeltaIndex + Timestamp -> no overflow error #14068

Closed
mathause opened this issue Aug 22, 2016 · 3 comments
Closed

TimedeltaIndex + Timestamp -> no overflow error #14068

mathause opened this issue Aug 22, 2016 · 3 comments
Labels
Bug Timedelta Timedelta data type
Milestone

Comments

@mathause
Copy link
Contributor

mathause commented Aug 22, 2016

When adding a TimedeltaIndex and a Timestamp this overflows instead of raising (pydata/xarray#975).

import pandas as pd

# overflow error (correct)
pd.to_timedelta(106580, 'D') + pd.Timestamp('2000')
# no overflow error (?)
pd.to_timedelta([106580], 'D') + pd.Timestamp('2000')

output of pd.show_versions()

INSTALLED VERSIONS

commit: None
python: 2.7.12.final.0
python-bits: 64
OS: Linux
OS-release: 3.13.0-24-generic
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8

pandas: 0.18.1
nose: None
pip: 8.1.2
setuptools: 25.1.6
Cython: None
numpy: 1.11.1
scipy: None
statsmodels: None
xarray: 0.7.2-73-g584e703
IPython: 5.1.0
sphinx: None
patsy: None
dateutil: 2.5.3
pytz: 2016.6.1
blosc: None
bottleneck: 1.1.0
tables: None
numexpr: None
matplotlib: None
openpyxl: None
xlrd: None
xlwt: None
xlsxwriter: None
lxml: None
bs4: None
html5lib: None
httplib2: None
apiclient: None
sqlalchemy: None
pymysql: None
psycopg2: None
jinja2: 2.8
boto: None
pandas_datareader: None

edit: 'D' as unit

@shoyer
Copy link
Member

shoyer commented Aug 22, 2016

@mathause your code is missing the value of delta

@mathause
Copy link
Contributor Author

thanks & apologies, 'twas already late - I edited my comment above

@jreback
Copy link
Contributor

jreback commented Aug 24, 2016

xref #12534

yeah this is detectable I think. you can just check the sign of the result. e.g. (should be the same as the sign of the timedelta), as numpy doesn't raise on overflow :<

In [63]: pd.to_timedelta([106580], 'D').values + pd.Timestamp('2000').value
Out[63]: array([-8291547273709551616], dtype='timedelta64[ns]')

@jreback jreback added Difficulty Novice Timedelta Timedelta data type labels Aug 24, 2016
@jreback jreback added this to the Next Major Release milestone Aug 24, 2016
@jreback jreback added the Bug label Aug 24, 2016
shoyer pushed a commit to pydata/xarray that referenced this issue Aug 25, 2016
* fix datetime issues

- pretty print when date is out of bounds
- decode_cf_datetime when first date is in bound but later dates are not
- work around pandas Overflow error (pandas-dev/pandas#14068)

* correct indendation

* revise fix datetime issues

* update whats-new
gfyoung added a commit to forking-repos/pandas that referenced this issue Sep 27, 2016
@jreback jreback modified the milestones: 0.19.0, Next Major Release Sep 27, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Timedelta Timedelta data type
Projects
None yet
Development

No branches or pull requests

3 participants