@@ -1479,7 +1479,6 @@ class Timedelta(_Timedelta):
1479
1479
1480
1480
def __new__ (cls , object value = _no_input, unit = None , **kwargs ):
1481
1481
cdef:
1482
- _Timedelta td_base
1483
1482
NPY_DATETIMEUNIT out_reso = NPY_FR_ns
1484
1483
1485
1484
# process kwargs iff no value passed
@@ -1496,17 +1495,17 @@ class Timedelta(_Timedelta):
1496
1495
)
1497
1496
# GH43764, convert any input to nanoseconds first, to ensure any potential
1498
1497
# nanosecond contributions from kwargs parsed as floats are included
1499
- kwargs = collections.defaultdict(int , {key: _to_py_int_float(val) for key, val in kwargs.items()})
1498
+ # kwargs = collections.defaultdict(int, {key: _to_py_int_float(val) for key, val in kwargs.items()})
1500
1499
ns = sum (
1501
1500
(
1502
- kwargs[ " weeks" ] * 7 * 24 * 3600 * 1 _000_000_000,
1503
- kwargs[ " days" ] * 24 * 3600 * 1 _000_000_000,
1504
- kwargs[ " hours" ] * 3600 * 1 _000_000_000,
1505
- kwargs[ " minutes" ] * 60 * 1 _000_000_000,
1506
- kwargs[ " seconds" ] * 1 _000_000_000,
1507
- kwargs[ " milliseconds" ] * 1 _000_000,
1508
- kwargs[ " microseconds" ] * 1 _000,
1509
- kwargs[ " nanoseconds" ] ,
1501
+ _to_py_int_float( kwargs.get( " weeks" , 0 )) * 7 * 24 * 3600 * 1 _000_000_000,
1502
+ _to_py_int_float( kwargs.get( " days" , 0 )) * 24 * 3600 * 1 _000_000_000,
1503
+ _to_py_int_float( kwargs.get( " hours" , 0 )) * 3600 * 1 _000_000_000,
1504
+ _to_py_int_float( kwargs.get( " minutes" , 0 )) * 60 * 1 _000_000_000,
1505
+ _to_py_int_float( kwargs.get( " seconds" , 0 )) * 1 _000_000_000,
1506
+ _to_py_int_float( kwargs.get( " milliseconds" , 0 )) * 1 _000_000,
1507
+ _to_py_int_float( kwargs.get( " microseconds" , 0 )) * 1 _000,
1508
+ _to_py_int_float( kwargs.get( " nanoseconds" , 0 )) ,
1510
1509
)
1511
1510
)
1512
1511
return create_timedelta(ns, " ns" , out_reso)
0 commit comments