| Server IP : 209.209.40.120 / Your IP : 216.73.217.112 Web Server : Microsoft-IIS/10.0 System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586 User : NEWWWW$ ( 0) PHP Version : 8.3.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/Python312/Lib/site-packages/pandas/tests/indexes/datetimes/ |
Upload File : |
import dateutil.tz
import numpy as np
import pytest
from pandas import (
DatetimeIndex,
date_range,
to_datetime,
)
from pandas.core.arrays import datetimes
class TestDatetimeIndexIteration:
@pytest.mark.parametrize(
"tz", [None, "UTC", "US/Central", dateutil.tz.tzoffset(None, -28800)]
)
def test_iteration_preserves_nanoseconds(self, tz):
# GH#19603
index = DatetimeIndex(
["2018-02-08 15:00:00.168456358", "2018-02-08 15:00:00.168456359"], tz=tz
)
for i, ts in enumerate(index):
assert ts == index[i] # pylint: disable=unnecessary-list-index-lookup
def test_iter_readonly(self):
# GH#28055 ints_to_pydatetime with readonly array
arr = np.array([np.datetime64("2012-02-15T12:00:00.000000000")])
arr.setflags(write=False)
dti = to_datetime(arr)
list(dti)
def test_iteration_preserves_tz(self):
# see GH#8890
index = date_range("2012-01-01", periods=3, freq="h", tz="US/Eastern")
for i, ts in enumerate(index):
result = ts
expected = index[i] # pylint: disable=unnecessary-list-index-lookup
assert result == expected
def test_iteration_preserves_tz2(self):
index = date_range(
"2012-01-01", periods=3, freq="h", tz=dateutil.tz.tzoffset(None, -28800)
)
for i, ts in enumerate(index):
result = ts
expected = index[i] # pylint: disable=unnecessary-list-index-lookup
assert result._repr_base == expected._repr_base
assert result == expected
def test_iteration_preserves_tz3(self):
# GH#9100
index = DatetimeIndex(
["2014-12-01 03:32:39.987000-08:00", "2014-12-01 04:12:34.987000-08:00"]
)
for i, ts in enumerate(index):
result = ts
expected = index[i] # pylint: disable=unnecessary-list-index-lookup
assert result._repr_base == expected._repr_base
assert result == expected
@pytest.mark.parametrize("offset", [-5, -1, 0, 1])
def test_iteration_over_chunksize(self, offset, monkeypatch):
# GH#21012
chunksize = 5
index = date_range(
"2000-01-01 00:00:00", periods=chunksize - offset, freq="min"
)
num = 0
with monkeypatch.context() as m:
m.setattr(datetimes, "_ITER_CHUNKSIZE", chunksize)
for stamp in index:
assert index[num] == stamp
num += 1
assert num == len(index)