39 lines
1006 B
Python
39 lines
1006 B
Python
![]() |
import numpy as np
|
||
|
import pytest
|
||
|
|
||
|
from pandas import Period, PeriodIndex, period_range
|
||
|
import pandas._testing as tm
|
||
|
|
||
|
|
||
|
class TestPeriodRepresentation:
|
||
|
"""
|
||
|
Wish to match NumPy units
|
||
|
"""
|
||
|
|
||
|
def _check_freq(self, freq, base_date):
|
||
|
rng = period_range(start=base_date, periods=10, freq=freq)
|
||
|
exp = np.arange(10, dtype=np.int64)
|
||
|
|
||
|
tm.assert_numpy_array_equal(rng.asi8, exp)
|
||
|
|
||
|
def test_annual(self):
|
||
|
self._check_freq("A", 1970)
|
||
|
|
||
|
def test_monthly(self):
|
||
|
self._check_freq("M", "1970-01")
|
||
|
|
||
|
@pytest.mark.parametrize("freq", ["W-THU", "D", "B", "H", "T", "S", "L", "U", "N"])
|
||
|
def test_freq(self, freq):
|
||
|
self._check_freq(freq, "1970-01-01")
|
||
|
|
||
|
|
||
|
class TestPeriodIndexConversion:
|
||
|
def test_tolist(self):
|
||
|
index = period_range(freq="A", start="1/1/2001", end="12/1/2009")
|
||
|
rs = index.tolist()
|
||
|
for x in rs:
|
||
|
assert isinstance(x, Period)
|
||
|
|
||
|
recon = PeriodIndex(rs)
|
||
|
tm.assert_index_equal(index, recon)
|