def test_ns_index(self): nsamples = 400 ns = int(1e9 / 24414) dtstart = np.datetime64("2012-09-20T00:00:00") dt = dtstart + np.arange(nsamples) * np.timedelta64(ns, "ns") freq = ns * offsets.Nano() index = DatetimeIndex(dt, freq=freq, name="time") self.assert_index_parameters(index) new_index = date_range(start=index[0], end=index[-1], freq=index.freq) self.assert_index_parameters(new_index)
import numpy as np import pytest from pandas import Timedelta, offsets from pandas._libs.tslibs.timedeltas import delta_to_nanoseconds @pytest.mark.parametrize( "obj,expected", [ (np.timedelta64(14, "D"), 14 * 24 * 3600 * 1e9), (Timedelta(minutes=-7), -7 * 60 * 1e9), (Timedelta(minutes=-7).to_pytimedelta(), -7 * 60 * 1e9), (offsets.Nano(125), 125), (1, 1), (np.int64(2), 2), (np.int32(3), 3), ], ) def test_delta_to_nanoseconds(obj, expected): result = delta_to_nanoseconds(obj) assert result == expected def test_delta_to_nanoseconds_error(): obj = np.array([123456789], dtype="m8[ns]") with pytest.raises(TypeError, match="<class 'numpy.ndarray'>"): delta_to_nanoseconds(obj)