done
This commit is contained in:
@ -0,0 +1,51 @@
|
||||
# Arithmetic tests for TimedeltaIndex are generally about the result's `freq` attribute.
|
||||
# Other cases can be shared in tests.arithmetic.test_timedelta64
|
||||
import numpy as np
|
||||
|
||||
from pandas import (
|
||||
NaT,
|
||||
Timedelta,
|
||||
timedelta_range,
|
||||
)
|
||||
import pandas._testing as tm
|
||||
|
||||
|
||||
class TestTimedeltaIndexArithmetic:
|
||||
def test_arithmetic_zero_freq(self):
|
||||
# GH#51575 don't get a .freq with freq.n = 0
|
||||
tdi = timedelta_range(0, periods=100, freq="ns")
|
||||
result = tdi / 2
|
||||
assert result.freq is None
|
||||
expected = tdi[:50].repeat(2)
|
||||
tm.assert_index_equal(result, expected)
|
||||
|
||||
result2 = tdi // 2
|
||||
assert result2.freq is None
|
||||
expected2 = expected
|
||||
tm.assert_index_equal(result2, expected2)
|
||||
|
||||
result3 = tdi * 0
|
||||
assert result3.freq is None
|
||||
expected3 = tdi[:1].repeat(100)
|
||||
tm.assert_index_equal(result3, expected3)
|
||||
|
||||
def test_tdi_division(self, index_or_series):
|
||||
# doc example
|
||||
|
||||
scalar = Timedelta(days=31)
|
||||
td = index_or_series(
|
||||
[scalar, scalar, scalar + Timedelta(minutes=5, seconds=3), NaT],
|
||||
dtype="m8[ns]",
|
||||
)
|
||||
|
||||
result = td / np.timedelta64(1, "D")
|
||||
expected = index_or_series(
|
||||
[31, 31, (31 * 86400 + 5 * 60 + 3) / 86400.0, np.nan]
|
||||
)
|
||||
tm.assert_equal(result, expected)
|
||||
|
||||
result = td / np.timedelta64(1, "s")
|
||||
expected = index_or_series(
|
||||
[31 * 86400, 31 * 86400, 31 * 86400 + 5 * 60 + 3, np.nan]
|
||||
)
|
||||
tm.assert_equal(result, expected)
|
Reference in New Issue
Block a user