Skip to content

TimedeltaIndex + Timestamp -> no overflow error #14068

@mathause

Description

@mathause
Contributor

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

Activity

shoyer

shoyer commented on Aug 22, 2016

@shoyer
Member

@mathause your code is missing the value of delta

mathause

mathause commented on Aug 23, 2016

@mathause
ContributorAuthor

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

jreback

jreback commented on Aug 24, 2016

@jreback
Contributor

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]')
added this to the Next Major Release milestone on Aug 24, 2016
added a commit that references this issue on Aug 25, 2016
modified the milestones: 0.19.0, Next Major Release on Sep 27, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @jreback@shoyer@mathause

        Issue actions

          TimedeltaIndex + Timestamp -> no overflow error · Issue #14068 · pandas-dev/pandas