-
- Notifications
You must be signed in to change notification settings - Fork 19.4k
Closed
Labels
BugNumeric OperationsArithmetic, Comparison, and Logical operationsArithmetic, Comparison, and Logical operationsTimedeltaTimedelta data typeTimedelta data type
Milestone
Description
This currently raises TypeError as its disabled in core/nanops.py, see here: d29d4c6
The issue is that .var() can generate a value that is too big for the timedeltas to hold propery, and std CALLS var.
solns:
- reduce the value of the timedeltas going into var to make them work (and inflate on exit), e.g. divide by 1e9 or something. lose some small amount of precision.
- allow std to return a valid value by passing a flag thru to var (and don't wrap the results). a bit hacky
In [7]: max_int = np.iinfo(np.int64).max In [8]: max_int Out[8]: 9223372036854775807 In [9]: pd.Timedelta(max_int) Out[9]: Timedelta('106751 days 23:47:16.854775') In [10]: big_float = 3e19 In [12]: pd.Timedelta(big_float) --------------------------------------------------------------------------- OverflowError Traceback (most recent call last) OverflowError: Python int too large to convert to C long In [13]: pd.Timedelta(np.sqrt(big_float)) Out[13]: Timedelta('0 days 00:00:05.477225') Metadata
Metadata
Assignees
Labels
BugNumeric OperationsArithmetic, Comparison, and Logical operationsArithmetic, Comparison, and Logical operationsTimedeltaTimedelta data typeTimedelta data type