Example #1
0
class Properties(object):
    def setup(self):
        self.per = Period('2017-09-06 08:28', freq='min')

    def time_year(self):
        self.per.year

    def time_month(self):
        self.per.month

    def time_day(self):
        self.per.day

    def time_hour(self):
        self.per.hour

    def time_minute(self):
        self.per.minute

    def time_second(self):
        self.per.second

    def time_is_leap_year(self):
        self.per.is_leap_year

    def time_quarter(self):
        self.per.quarter

    def time_qyear(self):
        self.per.qyear

    def time_week(self):
        self.per.week

    def time_daysinmonth(self):
        self.per.daysinmonth

    def time_dayofweek(self):
        self.per.dayofweek

    def time_dayofyear(self):
        self.per.dayofyear

    def time_start_time(self):
        self.per.start_time

    def time_end_time(self):
        self.per.end_time

    def time_to_timestamp():
        self.per.to_timestamp()

    def time_now():
        self.per.now()

    def time_asfreq():
        self.per.asfreq('A')
Example #2
0
 def test_asfreq_corner(self):
     val = Period(freq='A', year=2007)
     result1 = val.asfreq('5t')
     result2 = val.asfreq('t')
     expected = Period('2007-12-31 23:59', freq='t')
     self.assertEqual(result1.ordinal, expected.ordinal)
     self.assertEqual(result1.freqstr, '5T')
     self.assertEqual(result2.ordinal, expected.ordinal)
     self.assertEqual(result2.freqstr, 'T')
Example #3
0
 def test_asfreq_corner(self):
     val = Period(freq='A', year=2007)
     result1 = val.asfreq('5t')
     result2 = val.asfreq('t')
     expected = Period('2007-12-31 23:59', freq='t')
     assert result1.ordinal == expected.ordinal
     assert result1.freqstr == '5T'
     assert result2.ordinal == expected.ordinal
     assert result2.freqstr == 'T'
Example #4
0
 def test_asfreq_near_zero_weekly(self):
     # GH#19834
     per1 = Period('0001-01-01', 'D') + 6
     per2 = Period('0001-01-01', 'D') - 6
     week1 = per1.asfreq('W')
     week2 = per2.asfreq('W')
     assert week1 != week2
     assert week1.asfreq('D', 'E') >= per1
     assert week2.asfreq('D', 'S') <= per2
Example #5
0
 def test_asfreq_near_zero_weekly(self):
     # GH#19834
     with tm.assert_produces_warning(FutureWarning):
         per1 = Period('0001-01-01', 'D') + 6
         per2 = Period('0001-01-01', 'D') - 6
     week1 = per1.asfreq('W')
     week2 = per2.asfreq('W')
     assert week1 != week2
     assert week1.asfreq('D', 'E') >= per1
     assert week2.asfreq('D', 'S') <= per2
Example #6
0
    def test_asfreq_MS(self):
        initial = Period("2013")

        assert initial.asfreq(freq="M", how="S") == Period('2013-01', 'M')

        msg = pd._libs.tslibs.frequencies._INVALID_FREQ_ERROR
        with tm.assert_raises_regex(ValueError, msg):
            initial.asfreq(freq="MS", how="S")

        with tm.assert_raises_regex(ValueError, msg):
            pd.Period('2013-01', 'MS')

        assert _period_code_map.get("MS") is None
Example #7
0
    def test_asfreq_MS(self):
        initial = Period("2013")

        assert initial.asfreq(freq="M", how="S") == Period('2013-01', 'M')

        msg = INVALID_FREQ_ERR_MSG
        with pytest.raises(ValueError, match=msg):
            initial.asfreq(freq="MS", how="S")

        with pytest.raises(ValueError, match=msg):
            Period('2013-01', 'MS')

        assert _period_code_map.get("MS") is None
Example #8
0
    def test_asfreq_MS(self):
        initial = Period("2013")

        self.assertEqual(initial.asfreq(freq="M", how="S"),
                         Period('2013-01', 'M'))

        msg = pd.tseries.frequencies._INVALID_FREQ_ERROR
        with self.assertRaisesRegexp(ValueError, msg):
            initial.asfreq(freq="MS", how="S")

        with tm.assertRaisesRegexp(ValueError, msg):
            pd.Period('2013-01', 'MS')

        self.assertTrue(_period_code_map.get("MS") is None)
Example #9
0
class PeriodUnaryMethods(object):
    params = ['M', 'min']
    param_names = ['freq']

    def setup(self, freq):
        self.per = Period('2012-06-01', freq=freq)

    def time_to_timestamp(self, freq):
        self.per.to_timestamp()

    def time_now(self, freq):
        self.per.now(freq)

    def time_asfreq(self, freq):
        self.per.asfreq('A')
Example #10
0
    def test_construction_bday(self):

        # Biz day construction, roll forward if non-weekday
        i1 = Period('3/10/12', freq='B')
        i2 = Period('3/10/12', freq='D')
        assert i1 == i2.asfreq('B')
        i2 = Period('3/11/12', freq='D')
        assert i1 == i2.asfreq('B')
        i2 = Period('3/12/12', freq='D')
        assert i1 == i2.asfreq('B')

        i3 = Period('3/10/12', freq='b')
        assert i1 == i3

        i1 = Period(year=2012, month=3, day=10, freq='B')
        i2 = Period('3/12/12', freq='B')
        assert i1 == i2
Example #11
0
    def test_asfreq_combined(self):
        # normal freq to combined freq
        p = Period("2007", freq="H")

        # ordinal will not change
        expected = Period("2007", freq="25H")
        for freq, how in zip(["1D1H", "1H1D"], ["E", "S"]):
            result = p.asfreq(freq, how=how)
            assert result == expected
            assert result.ordinal == expected.ordinal
            assert result.freq == expected.freq

        # combined freq to normal freq
        p1 = Period(freq="1D1H", year=2007)
        p2 = Period(freq="1H1D", year=2007)

        # ordinal will change because how=E is the default
        result1 = p1.asfreq("H")
        result2 = p2.asfreq("H")
        expected = Period("2007-01-02", freq="H")
        assert result1 == expected
        assert result1.ordinal == expected.ordinal
        assert result1.freq == expected.freq
        assert result2 == expected
        assert result2.ordinal == expected.ordinal
        assert result2.freq == expected.freq

        # ordinal will not change
        result1 = p1.asfreq("H", how="S")
        result2 = p2.asfreq("H", how="S")
        expected = Period("2007-01-01", freq="H")
        assert result1 == expected
        assert result1.ordinal == expected.ordinal
        assert result1.freq == expected.freq
        assert result2 == expected
        assert result2.ordinal == expected.ordinal
        assert result2.freq == expected.freq
Example #12
0
    def test_asfreq_combined(self):
        # normal freq to combined freq
        p = Period('2007', freq='H')

        # ordinal will not change
        expected = Period('2007', freq='25H')
        for freq, how in zip(['1D1H', '1H1D'], ['E', 'S']):
            result = p.asfreq(freq, how=how)
            assert result == expected
            assert result.ordinal == expected.ordinal
            assert result.freq == expected.freq

        # combined freq to normal freq
        p1 = Period(freq='1D1H', year=2007)
        p2 = Period(freq='1H1D', year=2007)

        # ordinal will change because how=E is the default
        result1 = p1.asfreq('H')
        result2 = p2.asfreq('H')
        expected = Period('2007-01-02', freq='H')
        assert result1 == expected
        assert result1.ordinal == expected.ordinal
        assert result1.freq == expected.freq
        assert result2 == expected
        assert result2.ordinal == expected.ordinal
        assert result2.freq == expected.freq

        # ordinal will not change
        result1 = p1.asfreq('H', how='S')
        result2 = p2.asfreq('H', how='S')
        expected = Period('2007-01-01', freq='H')
        assert result1 == expected
        assert result1.ordinal == expected.ordinal
        assert result1.freq == expected.freq
        assert result2 == expected
        assert result2.ordinal == expected.ordinal
        assert result2.freq == expected.freq
Example #13
0
    def test_asfreq_combined(self):
        # normal freq to combined freq
        p = Period('2007', freq='H')

        # ordinal will not change
        expected = Period('2007', freq='25H')
        for freq, how in zip(['1D1H', '1H1D'], ['E', 'S']):
            result = p.asfreq(freq, how=how)
            assert result == expected
            assert result.ordinal == expected.ordinal
            assert result.freq == expected.freq

        # combined freq to normal freq
        p1 = Period(freq='1D1H', year=2007)
        p2 = Period(freq='1H1D', year=2007)

        # ordinal will change because how=E is the default
        result1 = p1.asfreq('H')
        result2 = p2.asfreq('H')
        expected = Period('2007-01-02', freq='H')
        assert result1 == expected
        assert result1.ordinal == expected.ordinal
        assert result1.freq == expected.freq
        assert result2 == expected
        assert result2.ordinal == expected.ordinal
        assert result2.freq == expected.freq

        # ordinal will not change
        result1 = p1.asfreq('H', how='S')
        result2 = p2.asfreq('H', how='S')
        expected = Period('2007-01-01', freq='H')
        assert result1 == expected
        assert result1.ordinal == expected.ordinal
        assert result1.freq == expected.freq
        assert result2 == expected
        assert result2.ordinal == expected.ordinal
        assert result2.freq == expected.freq
Example #14
0
    def test_negone_ordinals(self):
        freqs = ["A", "M", "Q", "D", "H", "T", "S"]

        period = Period(ordinal=-1, freq="D")
        for freq in freqs:
            repr(period.asfreq(freq))

        for freq in freqs:
            period = Period(ordinal=-1, freq=freq)
            repr(period)
            assert period.year == 1969

        period = Period(ordinal=-1, freq="B")
        repr(period)
        period = Period(ordinal=-1, freq="W")
        repr(period)
Example #15
0
    def test_conv_annual(self):
        # frequency conversion tests: from Annual Frequency

        ival_A = Period(freq='A', year=2007)

        ival_AJAN = Period(freq="A-JAN", year=2007)
        ival_AJUN = Period(freq="A-JUN", year=2007)
        ival_ANOV = Period(freq="A-NOV", year=2007)

        ival_A_to_Q_start = Period(freq='Q', year=2007, quarter=1)
        ival_A_to_Q_end = Period(freq='Q', year=2007, quarter=4)
        ival_A_to_M_start = Period(freq='M', year=2007, month=1)
        ival_A_to_M_end = Period(freq='M', year=2007, month=12)
        ival_A_to_W_start = Period(freq='W', year=2007, month=1, day=1)
        ival_A_to_W_end = Period(freq='W', year=2007, month=12, day=31)
        ival_A_to_B_start = Period(freq='B', year=2007, month=1, day=1)
        ival_A_to_B_end = Period(freq='B', year=2007, month=12, day=31)
        ival_A_to_D_start = Period(freq='D', year=2007, month=1, day=1)
        ival_A_to_D_end = Period(freq='D', year=2007, month=12, day=31)
        ival_A_to_H_start = Period(freq='H', year=2007, month=1, day=1, hour=0)
        ival_A_to_H_end = Period(freq='H', year=2007, month=12, day=31,
                                 hour=23)
        ival_A_to_T_start = Period(freq='Min', year=2007, month=1, day=1,
                                   hour=0, minute=0)
        ival_A_to_T_end = Period(freq='Min', year=2007, month=12, day=31,
                                 hour=23, minute=59)
        ival_A_to_S_start = Period(freq='S', year=2007, month=1, day=1, hour=0,
                                   minute=0, second=0)
        ival_A_to_S_end = Period(freq='S', year=2007, month=12, day=31,
                                 hour=23, minute=59, second=59)

        ival_AJAN_to_D_end = Period(freq='D', year=2007, month=1, day=31)
        ival_AJAN_to_D_start = Period(freq='D', year=2006, month=2, day=1)
        ival_AJUN_to_D_end = Period(freq='D', year=2007, month=6, day=30)
        ival_AJUN_to_D_start = Period(freq='D', year=2006, month=7, day=1)
        ival_ANOV_to_D_end = Period(freq='D', year=2007, month=11, day=30)
        ival_ANOV_to_D_start = Period(freq='D', year=2006, month=12, day=1)

        assert ival_A.asfreq('Q', 'S') == ival_A_to_Q_start
        assert ival_A.asfreq('Q', 'e') == ival_A_to_Q_end
        assert ival_A.asfreq('M', 's') == ival_A_to_M_start
        assert ival_A.asfreq('M', 'E') == ival_A_to_M_end
        assert ival_A.asfreq('W', 'S') == ival_A_to_W_start
        assert ival_A.asfreq('W', 'E') == ival_A_to_W_end
        assert ival_A.asfreq('B', 'S') == ival_A_to_B_start
        assert ival_A.asfreq('B', 'E') == ival_A_to_B_end
        assert ival_A.asfreq('D', 'S') == ival_A_to_D_start
        assert ival_A.asfreq('D', 'E') == ival_A_to_D_end
        assert ival_A.asfreq('H', 'S') == ival_A_to_H_start
        assert ival_A.asfreq('H', 'E') == ival_A_to_H_end
        assert ival_A.asfreq('min', 'S') == ival_A_to_T_start
        assert ival_A.asfreq('min', 'E') == ival_A_to_T_end
        assert ival_A.asfreq('T', 'S') == ival_A_to_T_start
        assert ival_A.asfreq('T', 'E') == ival_A_to_T_end
        assert ival_A.asfreq('S', 'S') == ival_A_to_S_start
        assert ival_A.asfreq('S', 'E') == ival_A_to_S_end

        assert ival_AJAN.asfreq('D', 'S') == ival_AJAN_to_D_start
        assert ival_AJAN.asfreq('D', 'E') == ival_AJAN_to_D_end

        assert ival_AJUN.asfreq('D', 'S') == ival_AJUN_to_D_start
        assert ival_AJUN.asfreq('D', 'E') == ival_AJUN_to_D_end

        assert ival_ANOV.asfreq('D', 'S') == ival_ANOV_to_D_start
        assert ival_ANOV.asfreq('D', 'E') == ival_ANOV_to_D_end

        assert ival_A.asfreq('A') == ival_A
Example #16
0
##### Arithmetic

# In[460]:

p + 2

# In[462]:

p.year

##### Conversions - suppose to monthly

# In[463]:

p.asfreq('M')

##### we get back june 2011 as it was A-june , annual june. If we want the start of the annual session then use :

# In[464]:

p.asfreq('M', how='start')

##### We get july 2010 here .

##### Suppose we wanted the second month in the interval and third to last business day in that month

# In[465]:

(p.asfreq('M', how='start') + 1).asfreq('B', 'end') - 2
# In[460]:

p+2


# In[462]:

p.year


##### Conversions - suppose to monthly 

# In[463]:

p.asfreq('M')


##### we get back june 2011 as it was A-june , annual june. If we want the start of the annual session then use : 

# In[464]:

p.asfreq('M',how='start')


##### We get july 2010 here .

##### Suppose we wanted the second month in the interval and third to last business day in that month 

# In[465]:
Example #18
0
    def test_conv_annual(self):
        # frequency conversion tests: from Annual Frequency

        ival_A = Period(freq='A', year=2007)

        ival_AJAN = Period(freq="A-JAN", year=2007)
        ival_AJUN = Period(freq="A-JUN", year=2007)
        ival_ANOV = Period(freq="A-NOV", year=2007)

        ival_A_to_Q_start = Period(freq='Q', year=2007, quarter=1)
        ival_A_to_Q_end = Period(freq='Q', year=2007, quarter=4)
        ival_A_to_M_start = Period(freq='M', year=2007, month=1)
        ival_A_to_M_end = Period(freq='M', year=2007, month=12)
        ival_A_to_W_start = Period(freq='W', year=2007, month=1, day=1)
        ival_A_to_W_end = Period(freq='W', year=2007, month=12, day=31)
        ival_A_to_B_start = Period(freq='B', year=2007, month=1, day=1)
        ival_A_to_B_end = Period(freq='B', year=2007, month=12, day=31)
        ival_A_to_D_start = Period(freq='D', year=2007, month=1, day=1)
        ival_A_to_D_end = Period(freq='D', year=2007, month=12, day=31)
        ival_A_to_H_start = Period(freq='H', year=2007, month=1, day=1, hour=0)
        ival_A_to_H_end = Period(freq='H',
                                 year=2007,
                                 month=12,
                                 day=31,
                                 hour=23)
        ival_A_to_T_start = Period(freq='Min',
                                   year=2007,
                                   month=1,
                                   day=1,
                                   hour=0,
                                   minute=0)
        ival_A_to_T_end = Period(freq='Min',
                                 year=2007,
                                 month=12,
                                 day=31,
                                 hour=23,
                                 minute=59)
        ival_A_to_S_start = Period(freq='S',
                                   year=2007,
                                   month=1,
                                   day=1,
                                   hour=0,
                                   minute=0,
                                   second=0)
        ival_A_to_S_end = Period(freq='S',
                                 year=2007,
                                 month=12,
                                 day=31,
                                 hour=23,
                                 minute=59,
                                 second=59)

        ival_AJAN_to_D_end = Period(freq='D', year=2007, month=1, day=31)
        ival_AJAN_to_D_start = Period(freq='D', year=2006, month=2, day=1)
        ival_AJUN_to_D_end = Period(freq='D', year=2007, month=6, day=30)
        ival_AJUN_to_D_start = Period(freq='D', year=2006, month=7, day=1)
        ival_ANOV_to_D_end = Period(freq='D', year=2007, month=11, day=30)
        ival_ANOV_to_D_start = Period(freq='D', year=2006, month=12, day=1)

        self.assertEqual(ival_A.asfreq('Q', 'S'), ival_A_to_Q_start)
        self.assertEqual(ival_A.asfreq('Q', 'e'), ival_A_to_Q_end)
        self.assertEqual(ival_A.asfreq('M', 's'), ival_A_to_M_start)
        self.assertEqual(ival_A.asfreq('M', 'E'), ival_A_to_M_end)
        self.assertEqual(ival_A.asfreq('W', 'S'), ival_A_to_W_start)
        self.assertEqual(ival_A.asfreq('W', 'E'), ival_A_to_W_end)
        self.assertEqual(ival_A.asfreq('B', 'S'), ival_A_to_B_start)
        self.assertEqual(ival_A.asfreq('B', 'E'), ival_A_to_B_end)
        self.assertEqual(ival_A.asfreq('D', 'S'), ival_A_to_D_start)
        self.assertEqual(ival_A.asfreq('D', 'E'), ival_A_to_D_end)
        self.assertEqual(ival_A.asfreq('H', 'S'), ival_A_to_H_start)
        self.assertEqual(ival_A.asfreq('H', 'E'), ival_A_to_H_end)
        self.assertEqual(ival_A.asfreq('min', 'S'), ival_A_to_T_start)
        self.assertEqual(ival_A.asfreq('min', 'E'), ival_A_to_T_end)
        self.assertEqual(ival_A.asfreq('T', 'S'), ival_A_to_T_start)
        self.assertEqual(ival_A.asfreq('T', 'E'), ival_A_to_T_end)
        self.assertEqual(ival_A.asfreq('S', 'S'), ival_A_to_S_start)
        self.assertEqual(ival_A.asfreq('S', 'E'), ival_A_to_S_end)

        self.assertEqual(ival_AJAN.asfreq('D', 'S'), ival_AJAN_to_D_start)
        self.assertEqual(ival_AJAN.asfreq('D', 'E'), ival_AJAN_to_D_end)

        self.assertEqual(ival_AJUN.asfreq('D', 'S'), ival_AJUN_to_D_start)
        self.assertEqual(ival_AJUN.asfreq('D', 'E'), ival_AJUN_to_D_end)

        self.assertEqual(ival_ANOV.asfreq('D', 'S'), ival_ANOV_to_D_start)
        self.assertEqual(ival_ANOV.asfreq('D', 'E'), ival_ANOV_to_D_end)

        self.assertEqual(ival_A.asfreq('A'), ival_A)
Example #19
0
    def test_conv_quarterly(self):
        # frequency conversion tests: from Quarterly Frequency

        ival_Q = Period(freq='Q', year=2007, quarter=1)
        ival_Q_end_of_year = Period(freq='Q', year=2007, quarter=4)

        ival_QEJAN = Period(freq="Q-JAN", year=2007, quarter=1)
        ival_QEJUN = Period(freq="Q-JUN", year=2007, quarter=1)

        ival_Q_to_A = Period(freq='A', year=2007)
        ival_Q_to_M_start = Period(freq='M', year=2007, month=1)
        ival_Q_to_M_end = Period(freq='M', year=2007, month=3)
        ival_Q_to_W_start = Period(freq='W', year=2007, month=1, day=1)
        ival_Q_to_W_end = Period(freq='W', year=2007, month=3, day=31)
        ival_Q_to_B_start = Period(freq='B', year=2007, month=1, day=1)
        ival_Q_to_B_end = Period(freq='B', year=2007, month=3, day=30)
        ival_Q_to_D_start = Period(freq='D', year=2007, month=1, day=1)
        ival_Q_to_D_end = Period(freq='D', year=2007, month=3, day=31)
        ival_Q_to_H_start = Period(freq='H', year=2007, month=1, day=1, hour=0)
        ival_Q_to_H_end = Period(freq='H', year=2007, month=3, day=31, hour=23)
        ival_Q_to_T_start = Period(freq='Min',
                                   year=2007,
                                   month=1,
                                   day=1,
                                   hour=0,
                                   minute=0)
        ival_Q_to_T_end = Period(freq='Min',
                                 year=2007,
                                 month=3,
                                 day=31,
                                 hour=23,
                                 minute=59)
        ival_Q_to_S_start = Period(freq='S',
                                   year=2007,
                                   month=1,
                                   day=1,
                                   hour=0,
                                   minute=0,
                                   second=0)
        ival_Q_to_S_end = Period(freq='S',
                                 year=2007,
                                 month=3,
                                 day=31,
                                 hour=23,
                                 minute=59,
                                 second=59)

        ival_QEJAN_to_D_start = Period(freq='D', year=2006, month=2, day=1)
        ival_QEJAN_to_D_end = Period(freq='D', year=2006, month=4, day=30)

        ival_QEJUN_to_D_start = Period(freq='D', year=2006, month=7, day=1)
        ival_QEJUN_to_D_end = Period(freq='D', year=2006, month=9, day=30)

        self.assertEqual(ival_Q.asfreq('A'), ival_Q_to_A)
        self.assertEqual(ival_Q_end_of_year.asfreq('A'), ival_Q_to_A)

        self.assertEqual(ival_Q.asfreq('M', 'S'), ival_Q_to_M_start)
        self.assertEqual(ival_Q.asfreq('M', 'E'), ival_Q_to_M_end)
        self.assertEqual(ival_Q.asfreq('W', 'S'), ival_Q_to_W_start)
        self.assertEqual(ival_Q.asfreq('W', 'E'), ival_Q_to_W_end)
        self.assertEqual(ival_Q.asfreq('B', 'S'), ival_Q_to_B_start)
        self.assertEqual(ival_Q.asfreq('B', 'E'), ival_Q_to_B_end)
        self.assertEqual(ival_Q.asfreq('D', 'S'), ival_Q_to_D_start)
        self.assertEqual(ival_Q.asfreq('D', 'E'), ival_Q_to_D_end)
        self.assertEqual(ival_Q.asfreq('H', 'S'), ival_Q_to_H_start)
        self.assertEqual(ival_Q.asfreq('H', 'E'), ival_Q_to_H_end)
        self.assertEqual(ival_Q.asfreq('Min', 'S'), ival_Q_to_T_start)
        self.assertEqual(ival_Q.asfreq('Min', 'E'), ival_Q_to_T_end)
        self.assertEqual(ival_Q.asfreq('S', 'S'), ival_Q_to_S_start)
        self.assertEqual(ival_Q.asfreq('S', 'E'), ival_Q_to_S_end)

        self.assertEqual(ival_QEJAN.asfreq('D', 'S'), ival_QEJAN_to_D_start)
        self.assertEqual(ival_QEJAN.asfreq('D', 'E'), ival_QEJAN_to_D_end)
        self.assertEqual(ival_QEJUN.asfreq('D', 'S'), ival_QEJUN_to_D_start)
        self.assertEqual(ival_QEJUN.asfreq('D', 'E'), ival_QEJUN_to_D_end)

        self.assertEqual(ival_Q.asfreq('Q'), ival_Q)
Example #20
0
    def test_conv_secondly(self):
        # frequency conversion tests: from Secondly Frequency"

        ival_S = Period(freq='S',
                        year=2007,
                        month=1,
                        day=1,
                        hour=0,
                        minute=0,
                        second=0)
        ival_S_end_of_year = Period(freq='S',
                                    year=2007,
                                    month=12,
                                    day=31,
                                    hour=23,
                                    minute=59,
                                    second=59)
        ival_S_end_of_quarter = Period(freq='S',
                                       year=2007,
                                       month=3,
                                       day=31,
                                       hour=23,
                                       minute=59,
                                       second=59)
        ival_S_end_of_month = Period(freq='S',
                                     year=2007,
                                     month=1,
                                     day=31,
                                     hour=23,
                                     minute=59,
                                     second=59)
        ival_S_end_of_week = Period(freq='S',
                                    year=2007,
                                    month=1,
                                    day=7,
                                    hour=23,
                                    minute=59,
                                    second=59)
        ival_S_end_of_day = Period(freq='S',
                                   year=2007,
                                   month=1,
                                   day=1,
                                   hour=23,
                                   minute=59,
                                   second=59)
        ival_S_end_of_bus = Period(freq='S',
                                   year=2007,
                                   month=1,
                                   day=1,
                                   hour=23,
                                   minute=59,
                                   second=59)
        ival_S_end_of_hour = Period(freq='S',
                                    year=2007,
                                    month=1,
                                    day=1,
                                    hour=0,
                                    minute=59,
                                    second=59)
        ival_S_end_of_minute = Period(freq='S',
                                      year=2007,
                                      month=1,
                                      day=1,
                                      hour=0,
                                      minute=0,
                                      second=59)

        ival_S_to_A = Period(freq='A', year=2007)
        ival_S_to_Q = Period(freq='Q', year=2007, quarter=1)
        ival_S_to_M = Period(freq='M', year=2007, month=1)
        ival_S_to_W = Period(freq='W', year=2007, month=1, day=7)
        ival_S_to_D = Period(freq='D', year=2007, month=1, day=1)
        ival_S_to_B = Period(freq='B', year=2007, month=1, day=1)
        ival_S_to_H = Period(freq='H', year=2007, month=1, day=1, hour=0)
        ival_S_to_T = Period(freq='Min',
                             year=2007,
                             month=1,
                             day=1,
                             hour=0,
                             minute=0)

        self.assertEqual(ival_S.asfreq('A'), ival_S_to_A)
        self.assertEqual(ival_S_end_of_year.asfreq('A'), ival_S_to_A)
        self.assertEqual(ival_S.asfreq('Q'), ival_S_to_Q)
        self.assertEqual(ival_S_end_of_quarter.asfreq('Q'), ival_S_to_Q)
        self.assertEqual(ival_S.asfreq('M'), ival_S_to_M)
        self.assertEqual(ival_S_end_of_month.asfreq('M'), ival_S_to_M)
        self.assertEqual(ival_S.asfreq('W'), ival_S_to_W)
        self.assertEqual(ival_S_end_of_week.asfreq('W'), ival_S_to_W)
        self.assertEqual(ival_S.asfreq('D'), ival_S_to_D)
        self.assertEqual(ival_S_end_of_day.asfreq('D'), ival_S_to_D)
        self.assertEqual(ival_S.asfreq('B'), ival_S_to_B)
        self.assertEqual(ival_S_end_of_bus.asfreq('B'), ival_S_to_B)
        self.assertEqual(ival_S.asfreq('H'), ival_S_to_H)
        self.assertEqual(ival_S_end_of_hour.asfreq('H'), ival_S_to_H)
        self.assertEqual(ival_S.asfreq('Min'), ival_S_to_T)
        self.assertEqual(ival_S_end_of_minute.asfreq('Min'), ival_S_to_T)

        self.assertEqual(ival_S.asfreq('S'), ival_S)
Example #21
0
    def test_conv_business(self):
        # frequency conversion tests: from Business Frequency"

        ival_B = Period(freq='B', year=2007, month=1, day=1)
        ival_B_end_of_year = Period(freq='B', year=2007, month=12, day=31)
        ival_B_end_of_quarter = Period(freq='B', year=2007, month=3, day=30)
        ival_B_end_of_month = Period(freq='B', year=2007, month=1, day=31)
        ival_B_end_of_week = Period(freq='B', year=2007, month=1, day=5)

        ival_B_to_A = Period(freq='A', year=2007)
        ival_B_to_Q = Period(freq='Q', year=2007, quarter=1)
        ival_B_to_M = Period(freq='M', year=2007, month=1)
        ival_B_to_W = Period(freq='W', year=2007, month=1, day=7)
        ival_B_to_D = Period(freq='D', year=2007, month=1, day=1)
        ival_B_to_H_start = Period(freq='H', year=2007, month=1, day=1, hour=0)
        ival_B_to_H_end = Period(freq='H', year=2007, month=1, day=1, hour=23)
        ival_B_to_T_start = Period(freq='Min',
                                   year=2007,
                                   month=1,
                                   day=1,
                                   hour=0,
                                   minute=0)
        ival_B_to_T_end = Period(freq='Min',
                                 year=2007,
                                 month=1,
                                 day=1,
                                 hour=23,
                                 minute=59)
        ival_B_to_S_start = Period(freq='S',
                                   year=2007,
                                   month=1,
                                   day=1,
                                   hour=0,
                                   minute=0,
                                   second=0)
        ival_B_to_S_end = Period(freq='S',
                                 year=2007,
                                 month=1,
                                 day=1,
                                 hour=23,
                                 minute=59,
                                 second=59)

        self.assertEqual(ival_B.asfreq('A'), ival_B_to_A)
        self.assertEqual(ival_B_end_of_year.asfreq('A'), ival_B_to_A)
        self.assertEqual(ival_B.asfreq('Q'), ival_B_to_Q)
        self.assertEqual(ival_B_end_of_quarter.asfreq('Q'), ival_B_to_Q)
        self.assertEqual(ival_B.asfreq('M'), ival_B_to_M)
        self.assertEqual(ival_B_end_of_month.asfreq('M'), ival_B_to_M)
        self.assertEqual(ival_B.asfreq('W'), ival_B_to_W)
        self.assertEqual(ival_B_end_of_week.asfreq('W'), ival_B_to_W)

        self.assertEqual(ival_B.asfreq('D'), ival_B_to_D)

        self.assertEqual(ival_B.asfreq('H', 'S'), ival_B_to_H_start)
        self.assertEqual(ival_B.asfreq('H', 'E'), ival_B_to_H_end)
        self.assertEqual(ival_B.asfreq('Min', 'S'), ival_B_to_T_start)
        self.assertEqual(ival_B.asfreq('Min', 'E'), ival_B_to_T_end)
        self.assertEqual(ival_B.asfreq('S', 'S'), ival_B_to_S_start)
        self.assertEqual(ival_B.asfreq('S', 'E'), ival_B_to_S_end)

        self.assertEqual(ival_B.asfreq('B'), ival_B)
Example #22
0
    def test_conv_minutely(self):
        # frequency conversion tests: from Minutely Frequency"

        ival_T = Period(freq='Min',
                        year=2007,
                        month=1,
                        day=1,
                        hour=0,
                        minute=0)
        ival_T_end_of_year = Period(freq='Min',
                                    year=2007,
                                    month=12,
                                    day=31,
                                    hour=23,
                                    minute=59)
        ival_T_end_of_quarter = Period(freq='Min',
                                       year=2007,
                                       month=3,
                                       day=31,
                                       hour=23,
                                       minute=59)
        ival_T_end_of_month = Period(freq='Min',
                                     year=2007,
                                     month=1,
                                     day=31,
                                     hour=23,
                                     minute=59)
        ival_T_end_of_week = Period(freq='Min',
                                    year=2007,
                                    month=1,
                                    day=7,
                                    hour=23,
                                    minute=59)
        ival_T_end_of_day = Period(freq='Min',
                                   year=2007,
                                   month=1,
                                   day=1,
                                   hour=23,
                                   minute=59)
        ival_T_end_of_bus = Period(freq='Min',
                                   year=2007,
                                   month=1,
                                   day=1,
                                   hour=23,
                                   minute=59)
        ival_T_end_of_hour = Period(freq='Min',
                                    year=2007,
                                    month=1,
                                    day=1,
                                    hour=0,
                                    minute=59)

        ival_T_to_A = Period(freq='A', year=2007)
        ival_T_to_Q = Period(freq='Q', year=2007, quarter=1)
        ival_T_to_M = Period(freq='M', year=2007, month=1)
        ival_T_to_W = Period(freq='W', year=2007, month=1, day=7)
        ival_T_to_D = Period(freq='D', year=2007, month=1, day=1)
        ival_T_to_B = Period(freq='B', year=2007, month=1, day=1)
        ival_T_to_H = Period(freq='H', year=2007, month=1, day=1, hour=0)

        ival_T_to_S_start = Period(freq='S',
                                   year=2007,
                                   month=1,
                                   day=1,
                                   hour=0,
                                   minute=0,
                                   second=0)
        ival_T_to_S_end = Period(freq='S',
                                 year=2007,
                                 month=1,
                                 day=1,
                                 hour=0,
                                 minute=0,
                                 second=59)

        assert ival_T.asfreq('A') == ival_T_to_A
        assert ival_T_end_of_year.asfreq('A') == ival_T_to_A
        assert ival_T.asfreq('Q') == ival_T_to_Q
        assert ival_T_end_of_quarter.asfreq('Q') == ival_T_to_Q
        assert ival_T.asfreq('M') == ival_T_to_M
        assert ival_T_end_of_month.asfreq('M') == ival_T_to_M
        assert ival_T.asfreq('W') == ival_T_to_W
        assert ival_T_end_of_week.asfreq('W') == ival_T_to_W
        assert ival_T.asfreq('D') == ival_T_to_D
        assert ival_T_end_of_day.asfreq('D') == ival_T_to_D
        assert ival_T.asfreq('B') == ival_T_to_B
        assert ival_T_end_of_bus.asfreq('B') == ival_T_to_B
        assert ival_T.asfreq('H') == ival_T_to_H
        assert ival_T_end_of_hour.asfreq('H') == ival_T_to_H

        assert ival_T.asfreq('S', 'S') == ival_T_to_S_start
        assert ival_T.asfreq('S', 'E') == ival_T_to_S_end

        assert ival_T.asfreq('Min') == ival_T
Example #23
0
    def test_conv_weekly(self):
        # frequency conversion tests: from Weekly Frequency
        ival_W = Period(freq='W', year=2007, month=1, day=1)

        ival_WSUN = Period(freq='W', year=2007, month=1, day=7)
        ival_WSAT = Period(freq='W-SAT', year=2007, month=1, day=6)
        ival_WFRI = Period(freq='W-FRI', year=2007, month=1, day=5)
        ival_WTHU = Period(freq='W-THU', year=2007, month=1, day=4)
        ival_WWED = Period(freq='W-WED', year=2007, month=1, day=3)
        ival_WTUE = Period(freq='W-TUE', year=2007, month=1, day=2)
        ival_WMON = Period(freq='W-MON', year=2007, month=1, day=1)

        ival_WSUN_to_D_start = Period(freq='D', year=2007, month=1, day=1)
        ival_WSUN_to_D_end = Period(freq='D', year=2007, month=1, day=7)
        ival_WSAT_to_D_start = Period(freq='D', year=2006, month=12, day=31)
        ival_WSAT_to_D_end = Period(freq='D', year=2007, month=1, day=6)
        ival_WFRI_to_D_start = Period(freq='D', year=2006, month=12, day=30)
        ival_WFRI_to_D_end = Period(freq='D', year=2007, month=1, day=5)
        ival_WTHU_to_D_start = Period(freq='D', year=2006, month=12, day=29)
        ival_WTHU_to_D_end = Period(freq='D', year=2007, month=1, day=4)
        ival_WWED_to_D_start = Period(freq='D', year=2006, month=12, day=28)
        ival_WWED_to_D_end = Period(freq='D', year=2007, month=1, day=3)
        ival_WTUE_to_D_start = Period(freq='D', year=2006, month=12, day=27)
        ival_WTUE_to_D_end = Period(freq='D', year=2007, month=1, day=2)
        ival_WMON_to_D_start = Period(freq='D', year=2006, month=12, day=26)
        ival_WMON_to_D_end = Period(freq='D', year=2007, month=1, day=1)

        ival_W_end_of_year = Period(freq='W', year=2007, month=12, day=31)
        ival_W_end_of_quarter = Period(freq='W', year=2007, month=3, day=31)
        ival_W_end_of_month = Period(freq='W', year=2007, month=1, day=31)
        ival_W_to_A = Period(freq='A', year=2007)
        ival_W_to_Q = Period(freq='Q', year=2007, quarter=1)
        ival_W_to_M = Period(freq='M', year=2007, month=1)

        if Period(freq='D', year=2007, month=12, day=31).weekday == 6:
            ival_W_to_A_end_of_year = Period(freq='A', year=2007)
        else:
            ival_W_to_A_end_of_year = Period(freq='A', year=2008)

        if Period(freq='D', year=2007, month=3, day=31).weekday == 6:
            ival_W_to_Q_end_of_quarter = Period(freq='Q', year=2007, quarter=1)
        else:
            ival_W_to_Q_end_of_quarter = Period(freq='Q', year=2007, quarter=2)

        if Period(freq='D', year=2007, month=1, day=31).weekday == 6:
            ival_W_to_M_end_of_month = Period(freq='M', year=2007, month=1)
        else:
            ival_W_to_M_end_of_month = Period(freq='M', year=2007, month=2)

        ival_W_to_B_start = Period(freq='B', year=2007, month=1, day=1)
        ival_W_to_B_end = Period(freq='B', year=2007, month=1, day=5)
        ival_W_to_D_start = Period(freq='D', year=2007, month=1, day=1)
        ival_W_to_D_end = Period(freq='D', year=2007, month=1, day=7)
        ival_W_to_H_start = Period(freq='H', year=2007, month=1, day=1, hour=0)
        ival_W_to_H_end = Period(freq='H', year=2007, month=1, day=7, hour=23)
        ival_W_to_T_start = Period(freq='Min',
                                   year=2007,
                                   month=1,
                                   day=1,
                                   hour=0,
                                   minute=0)
        ival_W_to_T_end = Period(freq='Min',
                                 year=2007,
                                 month=1,
                                 day=7,
                                 hour=23,
                                 minute=59)
        ival_W_to_S_start = Period(freq='S',
                                   year=2007,
                                   month=1,
                                   day=1,
                                   hour=0,
                                   minute=0,
                                   second=0)
        ival_W_to_S_end = Period(freq='S',
                                 year=2007,
                                 month=1,
                                 day=7,
                                 hour=23,
                                 minute=59,
                                 second=59)

        assert ival_W.asfreq('A') == ival_W_to_A
        assert ival_W_end_of_year.asfreq('A') == ival_W_to_A_end_of_year

        assert ival_W.asfreq('Q') == ival_W_to_Q
        assert ival_W_end_of_quarter.asfreq('Q') == ival_W_to_Q_end_of_quarter

        assert ival_W.asfreq('M') == ival_W_to_M
        assert ival_W_end_of_month.asfreq('M') == ival_W_to_M_end_of_month

        assert ival_W.asfreq('B', 'S') == ival_W_to_B_start
        assert ival_W.asfreq('B', 'E') == ival_W_to_B_end

        assert ival_W.asfreq('D', 'S') == ival_W_to_D_start
        assert ival_W.asfreq('D', 'E') == ival_W_to_D_end

        assert ival_WSUN.asfreq('D', 'S') == ival_WSUN_to_D_start
        assert ival_WSUN.asfreq('D', 'E') == ival_WSUN_to_D_end
        assert ival_WSAT.asfreq('D', 'S') == ival_WSAT_to_D_start
        assert ival_WSAT.asfreq('D', 'E') == ival_WSAT_to_D_end
        assert ival_WFRI.asfreq('D', 'S') == ival_WFRI_to_D_start
        assert ival_WFRI.asfreq('D', 'E') == ival_WFRI_to_D_end
        assert ival_WTHU.asfreq('D', 'S') == ival_WTHU_to_D_start
        assert ival_WTHU.asfreq('D', 'E') == ival_WTHU_to_D_end
        assert ival_WWED.asfreq('D', 'S') == ival_WWED_to_D_start
        assert ival_WWED.asfreq('D', 'E') == ival_WWED_to_D_end
        assert ival_WTUE.asfreq('D', 'S') == ival_WTUE_to_D_start
        assert ival_WTUE.asfreq('D', 'E') == ival_WTUE_to_D_end
        assert ival_WMON.asfreq('D', 'S') == ival_WMON_to_D_start
        assert ival_WMON.asfreq('D', 'E') == ival_WMON_to_D_end

        assert ival_W.asfreq('H', 'S') == ival_W_to_H_start
        assert ival_W.asfreq('H', 'E') == ival_W_to_H_end
        assert ival_W.asfreq('Min', 'S') == ival_W_to_T_start
        assert ival_W.asfreq('Min', 'E') == ival_W_to_T_end
        assert ival_W.asfreq('S', 'S') == ival_W_to_S_start
        assert ival_W.asfreq('S', 'E') == ival_W_to_S_end

        assert ival_W.asfreq('W') == ival_W

        msg = INVALID_FREQ_ERR_MSG
        with pytest.raises(ValueError, match=msg):
            ival_W.asfreq('WK')
Example #24
0
    def test_conv_weekly(self):
        # frequency conversion tests: from Weekly Frequency
        ival_W = Period(freq='W', year=2007, month=1, day=1)

        ival_WSUN = Period(freq='W', year=2007, month=1, day=7)
        ival_WSAT = Period(freq='W-SAT', year=2007, month=1, day=6)
        ival_WFRI = Period(freq='W-FRI', year=2007, month=1, day=5)
        ival_WTHU = Period(freq='W-THU', year=2007, month=1, day=4)
        ival_WWED = Period(freq='W-WED', year=2007, month=1, day=3)
        ival_WTUE = Period(freq='W-TUE', year=2007, month=1, day=2)
        ival_WMON = Period(freq='W-MON', year=2007, month=1, day=1)

        ival_WSUN_to_D_start = Period(freq='D', year=2007, month=1, day=1)
        ival_WSUN_to_D_end = Period(freq='D', year=2007, month=1, day=7)
        ival_WSAT_to_D_start = Period(freq='D', year=2006, month=12, day=31)
        ival_WSAT_to_D_end = Period(freq='D', year=2007, month=1, day=6)
        ival_WFRI_to_D_start = Period(freq='D', year=2006, month=12, day=30)
        ival_WFRI_to_D_end = Period(freq='D', year=2007, month=1, day=5)
        ival_WTHU_to_D_start = Period(freq='D', year=2006, month=12, day=29)
        ival_WTHU_to_D_end = Period(freq='D', year=2007, month=1, day=4)
        ival_WWED_to_D_start = Period(freq='D', year=2006, month=12, day=28)
        ival_WWED_to_D_end = Period(freq='D', year=2007, month=1, day=3)
        ival_WTUE_to_D_start = Period(freq='D', year=2006, month=12, day=27)
        ival_WTUE_to_D_end = Period(freq='D', year=2007, month=1, day=2)
        ival_WMON_to_D_start = Period(freq='D', year=2006, month=12, day=26)
        ival_WMON_to_D_end = Period(freq='D', year=2007, month=1, day=1)

        ival_W_end_of_year = Period(freq='W', year=2007, month=12, day=31)
        ival_W_end_of_quarter = Period(freq='W', year=2007, month=3, day=31)
        ival_W_end_of_month = Period(freq='W', year=2007, month=1, day=31)
        ival_W_to_A = Period(freq='A', year=2007)
        ival_W_to_Q = Period(freq='Q', year=2007, quarter=1)
        ival_W_to_M = Period(freq='M', year=2007, month=1)

        if Period(freq='D', year=2007, month=12, day=31).weekday == 6:
            ival_W_to_A_end_of_year = Period(freq='A', year=2007)
        else:
            ival_W_to_A_end_of_year = Period(freq='A', year=2008)

        if Period(freq='D', year=2007, month=3, day=31).weekday == 6:
            ival_W_to_Q_end_of_quarter = Period(freq='Q', year=2007, quarter=1)
        else:
            ival_W_to_Q_end_of_quarter = Period(freq='Q', year=2007, quarter=2)

        if Period(freq='D', year=2007, month=1, day=31).weekday == 6:
            ival_W_to_M_end_of_month = Period(freq='M', year=2007, month=1)
        else:
            ival_W_to_M_end_of_month = Period(freq='M', year=2007, month=2)

        ival_W_to_B_start = Period(freq='B', year=2007, month=1, day=1)
        ival_W_to_B_end = Period(freq='B', year=2007, month=1, day=5)
        ival_W_to_D_start = Period(freq='D', year=2007, month=1, day=1)
        ival_W_to_D_end = Period(freq='D', year=2007, month=1, day=7)
        ival_W_to_H_start = Period(freq='H', year=2007, month=1, day=1, hour=0)
        ival_W_to_H_end = Period(freq='H', year=2007, month=1, day=7, hour=23)
        ival_W_to_T_start = Period(freq='Min', year=2007, month=1, day=1,
                                   hour=0, minute=0)
        ival_W_to_T_end = Period(freq='Min', year=2007, month=1, day=7,
                                 hour=23, minute=59)
        ival_W_to_S_start = Period(freq='S', year=2007, month=1, day=1, hour=0,
                                   minute=0, second=0)
        ival_W_to_S_end = Period(freq='S', year=2007, month=1, day=7, hour=23,
                                 minute=59, second=59)

        self.assertEqual(ival_W.asfreq('A'), ival_W_to_A)
        self.assertEqual(ival_W_end_of_year.asfreq('A'),
                         ival_W_to_A_end_of_year)
        self.assertEqual(ival_W.asfreq('Q'), ival_W_to_Q)
        self.assertEqual(ival_W_end_of_quarter.asfreq('Q'),
                         ival_W_to_Q_end_of_quarter)
        self.assertEqual(ival_W.asfreq('M'), ival_W_to_M)
        self.assertEqual(ival_W_end_of_month.asfreq('M'),
                         ival_W_to_M_end_of_month)

        self.assertEqual(ival_W.asfreq('B', 'S'), ival_W_to_B_start)
        self.assertEqual(ival_W.asfreq('B', 'E'), ival_W_to_B_end)

        self.assertEqual(ival_W.asfreq('D', 'S'), ival_W_to_D_start)
        self.assertEqual(ival_W.asfreq('D', 'E'), ival_W_to_D_end)

        self.assertEqual(ival_WSUN.asfreq('D', 'S'), ival_WSUN_to_D_start)
        self.assertEqual(ival_WSUN.asfreq('D', 'E'), ival_WSUN_to_D_end)
        self.assertEqual(ival_WSAT.asfreq('D', 'S'), ival_WSAT_to_D_start)
        self.assertEqual(ival_WSAT.asfreq('D', 'E'), ival_WSAT_to_D_end)
        self.assertEqual(ival_WFRI.asfreq('D', 'S'), ival_WFRI_to_D_start)
        self.assertEqual(ival_WFRI.asfreq('D', 'E'), ival_WFRI_to_D_end)
        self.assertEqual(ival_WTHU.asfreq('D', 'S'), ival_WTHU_to_D_start)
        self.assertEqual(ival_WTHU.asfreq('D', 'E'), ival_WTHU_to_D_end)
        self.assertEqual(ival_WWED.asfreq('D', 'S'), ival_WWED_to_D_start)
        self.assertEqual(ival_WWED.asfreq('D', 'E'), ival_WWED_to_D_end)
        self.assertEqual(ival_WTUE.asfreq('D', 'S'), ival_WTUE_to_D_start)
        self.assertEqual(ival_WTUE.asfreq('D', 'E'), ival_WTUE_to_D_end)
        self.assertEqual(ival_WMON.asfreq('D', 'S'), ival_WMON_to_D_start)
        self.assertEqual(ival_WMON.asfreq('D', 'E'), ival_WMON_to_D_end)

        self.assertEqual(ival_W.asfreq('H', 'S'), ival_W_to_H_start)
        self.assertEqual(ival_W.asfreq('H', 'E'), ival_W_to_H_end)
        self.assertEqual(ival_W.asfreq('Min', 'S'), ival_W_to_T_start)
        self.assertEqual(ival_W.asfreq('Min', 'E'), ival_W_to_T_end)
        self.assertEqual(ival_W.asfreq('S', 'S'), ival_W_to_S_start)
        self.assertEqual(ival_W.asfreq('S', 'E'), ival_W_to_S_end)

        self.assertEqual(ival_W.asfreq('W'), ival_W)

        msg = pd.tseries.frequencies._INVALID_FREQ_ERROR
        with self.assertRaisesRegexp(ValueError, msg):
            ival_W.asfreq('WK')
Example #25
0
    def test_conv_secondly(self):
        # frequency conversion tests: from Secondly Frequency"

        ival_S = Period(freq='S', year=2007, month=1, day=1, hour=0, minute=0,
                        second=0)
        ival_S_end_of_year = Period(freq='S', year=2007, month=12, day=31,
                                    hour=23, minute=59, second=59)
        ival_S_end_of_quarter = Period(freq='S', year=2007, month=3, day=31,
                                       hour=23, minute=59, second=59)
        ival_S_end_of_month = Period(freq='S', year=2007, month=1, day=31,
                                     hour=23, minute=59, second=59)
        ival_S_end_of_week = Period(freq='S', year=2007, month=1, day=7,
                                    hour=23, minute=59, second=59)
        ival_S_end_of_day = Period(freq='S', year=2007, month=1, day=1,
                                   hour=23, minute=59, second=59)
        ival_S_end_of_bus = Period(freq='S', year=2007, month=1, day=1,
                                   hour=23, minute=59, second=59)
        ival_S_end_of_hour = Period(freq='S', year=2007, month=1, day=1,
                                    hour=0, minute=59, second=59)
        ival_S_end_of_minute = Period(freq='S', year=2007, month=1, day=1,
                                      hour=0, minute=0, second=59)

        ival_S_to_A = Period(freq='A', year=2007)
        ival_S_to_Q = Period(freq='Q', year=2007, quarter=1)
        ival_S_to_M = Period(freq='M', year=2007, month=1)
        ival_S_to_W = Period(freq='W', year=2007, month=1, day=7)
        ival_S_to_D = Period(freq='D', year=2007, month=1, day=1)
        ival_S_to_B = Period(freq='B', year=2007, month=1, day=1)
        ival_S_to_H = Period(freq='H', year=2007, month=1, day=1, hour=0)
        ival_S_to_T = Period(freq='Min', year=2007, month=1, day=1, hour=0,
                             minute=0)

        assert ival_S.asfreq('A') == ival_S_to_A
        assert ival_S_end_of_year.asfreq('A') == ival_S_to_A
        assert ival_S.asfreq('Q') == ival_S_to_Q
        assert ival_S_end_of_quarter.asfreq('Q') == ival_S_to_Q
        assert ival_S.asfreq('M') == ival_S_to_M
        assert ival_S_end_of_month.asfreq('M') == ival_S_to_M
        assert ival_S.asfreq('W') == ival_S_to_W
        assert ival_S_end_of_week.asfreq('W') == ival_S_to_W
        assert ival_S.asfreq('D') == ival_S_to_D
        assert ival_S_end_of_day.asfreq('D') == ival_S_to_D
        assert ival_S.asfreq('B') == ival_S_to_B
        assert ival_S_end_of_bus.asfreq('B') == ival_S_to_B
        assert ival_S.asfreq('H') == ival_S_to_H
        assert ival_S_end_of_hour.asfreq('H') == ival_S_to_H
        assert ival_S.asfreq('Min') == ival_S_to_T
        assert ival_S_end_of_minute.asfreq('Min') == ival_S_to_T

        assert ival_S.asfreq('S') == ival_S
Example #26
0
    def test_asfreq_mult(self):
        # normal freq to mult freq
        p = Period(freq='A', year=2007)
        # ordinal will not change
        for freq in ['3A', offsets.YearEnd(3)]:
            result = p.asfreq(freq)
            expected = Period('2007', freq='3A')

            assert result == expected
            assert result.ordinal == expected.ordinal
            assert result.freq == expected.freq
        # ordinal will not change
        for freq in ['3A', offsets.YearEnd(3)]:
            result = p.asfreq(freq, how='S')
            expected = Period('2007', freq='3A')

            assert result == expected
            assert result.ordinal == expected.ordinal
            assert result.freq == expected.freq

        # mult freq to normal freq
        p = Period(freq='3A', year=2007)
        # ordinal will change because how=E is the default
        for freq in ['A', offsets.YearEnd()]:
            result = p.asfreq(freq)
            expected = Period('2009', freq='A')

            assert result == expected
            assert result.ordinal == expected.ordinal
            assert result.freq == expected.freq
        # ordinal will not change
        for freq in ['A', offsets.YearEnd()]:
            result = p.asfreq(freq, how='S')
            expected = Period('2007', freq='A')

            assert result == expected
            assert result.ordinal == expected.ordinal
            assert result.freq == expected.freq

        p = Period(freq='A', year=2007)
        for freq in ['2M', offsets.MonthEnd(2)]:
            result = p.asfreq(freq)
            expected = Period('2007-12', freq='2M')

            assert result == expected
            assert result.ordinal == expected.ordinal
            assert result.freq == expected.freq
        for freq in ['2M', offsets.MonthEnd(2)]:
            result = p.asfreq(freq, how='S')
            expected = Period('2007-01', freq='2M')

            assert result == expected
            assert result.ordinal == expected.ordinal
            assert result.freq == expected.freq

        p = Period(freq='3A', year=2007)
        for freq in ['2M', offsets.MonthEnd(2)]:
            result = p.asfreq(freq)
            expected = Period('2009-12', freq='2M')

            assert result == expected
            assert result.ordinal == expected.ordinal
            assert result.freq == expected.freq
        for freq in ['2M', offsets.MonthEnd(2)]:
            result = p.asfreq(freq, how='S')
            expected = Period('2007-01', freq='2M')

            assert result == expected
            assert result.ordinal == expected.ordinal
            assert result.freq == expected.freq
Example #27
0
    def test_conv_quarterly(self):
        # frequency conversion tests: from Quarterly Frequency

        ival_Q = Period(freq="Q", year=2007, quarter=1)
        ival_Q_end_of_year = Period(freq="Q", year=2007, quarter=4)

        ival_QEJAN = Period(freq="Q-JAN", year=2007, quarter=1)
        ival_QEJUN = Period(freq="Q-JUN", year=2007, quarter=1)

        ival_Q_to_A = Period(freq="A", year=2007)
        ival_Q_to_M_start = Period(freq="M", year=2007, month=1)
        ival_Q_to_M_end = Period(freq="M", year=2007, month=3)
        ival_Q_to_W_start = Period(freq="W", year=2007, month=1, day=1)
        ival_Q_to_W_end = Period(freq="W", year=2007, month=3, day=31)
        ival_Q_to_B_start = Period(freq="B", year=2007, month=1, day=1)
        ival_Q_to_B_end = Period(freq="B", year=2007, month=3, day=30)
        ival_Q_to_D_start = Period(freq="D", year=2007, month=1, day=1)
        ival_Q_to_D_end = Period(freq="D", year=2007, month=3, day=31)
        ival_Q_to_H_start = Period(freq="H", year=2007, month=1, day=1, hour=0)
        ival_Q_to_H_end = Period(freq="H", year=2007, month=3, day=31, hour=23)
        ival_Q_to_T_start = Period(
            freq="Min", year=2007, month=1, day=1, hour=0, minute=0
        )
        ival_Q_to_T_end = Period(
            freq="Min", year=2007, month=3, day=31, hour=23, minute=59
        )
        ival_Q_to_S_start = Period(
            freq="S", year=2007, month=1, day=1, hour=0, minute=0, second=0
        )
        ival_Q_to_S_end = Period(
            freq="S", year=2007, month=3, day=31, hour=23, minute=59, second=59
        )

        ival_QEJAN_to_D_start = Period(freq="D", year=2006, month=2, day=1)
        ival_QEJAN_to_D_end = Period(freq="D", year=2006, month=4, day=30)

        ival_QEJUN_to_D_start = Period(freq="D", year=2006, month=7, day=1)
        ival_QEJUN_to_D_end = Period(freq="D", year=2006, month=9, day=30)

        assert ival_Q.asfreq("A") == ival_Q_to_A
        assert ival_Q_end_of_year.asfreq("A") == ival_Q_to_A

        assert ival_Q.asfreq("M", "S") == ival_Q_to_M_start
        assert ival_Q.asfreq("M", "E") == ival_Q_to_M_end
        assert ival_Q.asfreq("W", "S") == ival_Q_to_W_start
        assert ival_Q.asfreq("W", "E") == ival_Q_to_W_end
        assert ival_Q.asfreq("B", "S") == ival_Q_to_B_start
        assert ival_Q.asfreq("B", "E") == ival_Q_to_B_end
        assert ival_Q.asfreq("D", "S") == ival_Q_to_D_start
        assert ival_Q.asfreq("D", "E") == ival_Q_to_D_end
        assert ival_Q.asfreq("H", "S") == ival_Q_to_H_start
        assert ival_Q.asfreq("H", "E") == ival_Q_to_H_end
        assert ival_Q.asfreq("Min", "S") == ival_Q_to_T_start
        assert ival_Q.asfreq("Min", "E") == ival_Q_to_T_end
        assert ival_Q.asfreq("S", "S") == ival_Q_to_S_start
        assert ival_Q.asfreq("S", "E") == ival_Q_to_S_end

        assert ival_QEJAN.asfreq("D", "S") == ival_QEJAN_to_D_start
        assert ival_QEJAN.asfreq("D", "E") == ival_QEJAN_to_D_end
        assert ival_QEJUN.asfreq("D", "S") == ival_QEJUN_to_D_start
        assert ival_QEJUN.asfreq("D", "E") == ival_QEJUN_to_D_end

        assert ival_Q.asfreq("Q") == ival_Q
Example #28
0
    def test_conv_weekly(self):
        # frequency conversion tests: from Weekly Frequency
        ival_W = Period(freq="W", year=2007, month=1, day=1)

        ival_WSUN = Period(freq="W", year=2007, month=1, day=7)
        ival_WSAT = Period(freq="W-SAT", year=2007, month=1, day=6)
        ival_WFRI = Period(freq="W-FRI", year=2007, month=1, day=5)
        ival_WTHU = Period(freq="W-THU", year=2007, month=1, day=4)
        ival_WWED = Period(freq="W-WED", year=2007, month=1, day=3)
        ival_WTUE = Period(freq="W-TUE", year=2007, month=1, day=2)
        ival_WMON = Period(freq="W-MON", year=2007, month=1, day=1)

        ival_WSUN_to_D_start = Period(freq="D", year=2007, month=1, day=1)
        ival_WSUN_to_D_end = Period(freq="D", year=2007, month=1, day=7)
        ival_WSAT_to_D_start = Period(freq="D", year=2006, month=12, day=31)
        ival_WSAT_to_D_end = Period(freq="D", year=2007, month=1, day=6)
        ival_WFRI_to_D_start = Period(freq="D", year=2006, month=12, day=30)
        ival_WFRI_to_D_end = Period(freq="D", year=2007, month=1, day=5)
        ival_WTHU_to_D_start = Period(freq="D", year=2006, month=12, day=29)
        ival_WTHU_to_D_end = Period(freq="D", year=2007, month=1, day=4)
        ival_WWED_to_D_start = Period(freq="D", year=2006, month=12, day=28)
        ival_WWED_to_D_end = Period(freq="D", year=2007, month=1, day=3)
        ival_WTUE_to_D_start = Period(freq="D", year=2006, month=12, day=27)
        ival_WTUE_to_D_end = Period(freq="D", year=2007, month=1, day=2)
        ival_WMON_to_D_start = Period(freq="D", year=2006, month=12, day=26)
        ival_WMON_to_D_end = Period(freq="D", year=2007, month=1, day=1)

        ival_W_end_of_year = Period(freq="W", year=2007, month=12, day=31)
        ival_W_end_of_quarter = Period(freq="W", year=2007, month=3, day=31)
        ival_W_end_of_month = Period(freq="W", year=2007, month=1, day=31)
        ival_W_to_A = Period(freq="A", year=2007)
        ival_W_to_Q = Period(freq="Q", year=2007, quarter=1)
        ival_W_to_M = Period(freq="M", year=2007, month=1)

        if Period(freq="D", year=2007, month=12, day=31).weekday == 6:
            ival_W_to_A_end_of_year = Period(freq="A", year=2007)
        else:
            ival_W_to_A_end_of_year = Period(freq="A", year=2008)

        if Period(freq="D", year=2007, month=3, day=31).weekday == 6:
            ival_W_to_Q_end_of_quarter = Period(freq="Q", year=2007, quarter=1)
        else:
            ival_W_to_Q_end_of_quarter = Period(freq="Q", year=2007, quarter=2)

        if Period(freq="D", year=2007, month=1, day=31).weekday == 6:
            ival_W_to_M_end_of_month = Period(freq="M", year=2007, month=1)
        else:
            ival_W_to_M_end_of_month = Period(freq="M", year=2007, month=2)

        ival_W_to_B_start = Period(freq="B", year=2007, month=1, day=1)
        ival_W_to_B_end = Period(freq="B", year=2007, month=1, day=5)
        ival_W_to_D_start = Period(freq="D", year=2007, month=1, day=1)
        ival_W_to_D_end = Period(freq="D", year=2007, month=1, day=7)
        ival_W_to_H_start = Period(freq="H", year=2007, month=1, day=1, hour=0)
        ival_W_to_H_end = Period(freq="H", year=2007, month=1, day=7, hour=23)
        ival_W_to_T_start = Period(
            freq="Min", year=2007, month=1, day=1, hour=0, minute=0
        )
        ival_W_to_T_end = Period(
            freq="Min", year=2007, month=1, day=7, hour=23, minute=59
        )
        ival_W_to_S_start = Period(
            freq="S", year=2007, month=1, day=1, hour=0, minute=0, second=0
        )
        ival_W_to_S_end = Period(
            freq="S", year=2007, month=1, day=7, hour=23, minute=59, second=59
        )

        assert ival_W.asfreq("A") == ival_W_to_A
        assert ival_W_end_of_year.asfreq("A") == ival_W_to_A_end_of_year

        assert ival_W.asfreq("Q") == ival_W_to_Q
        assert ival_W_end_of_quarter.asfreq("Q") == ival_W_to_Q_end_of_quarter

        assert ival_W.asfreq("M") == ival_W_to_M
        assert ival_W_end_of_month.asfreq("M") == ival_W_to_M_end_of_month

        assert ival_W.asfreq("B", "S") == ival_W_to_B_start
        assert ival_W.asfreq("B", "E") == ival_W_to_B_end

        assert ival_W.asfreq("D", "S") == ival_W_to_D_start
        assert ival_W.asfreq("D", "E") == ival_W_to_D_end

        assert ival_WSUN.asfreq("D", "S") == ival_WSUN_to_D_start
        assert ival_WSUN.asfreq("D", "E") == ival_WSUN_to_D_end
        assert ival_WSAT.asfreq("D", "S") == ival_WSAT_to_D_start
        assert ival_WSAT.asfreq("D", "E") == ival_WSAT_to_D_end
        assert ival_WFRI.asfreq("D", "S") == ival_WFRI_to_D_start
        assert ival_WFRI.asfreq("D", "E") == ival_WFRI_to_D_end
        assert ival_WTHU.asfreq("D", "S") == ival_WTHU_to_D_start
        assert ival_WTHU.asfreq("D", "E") == ival_WTHU_to_D_end
        assert ival_WWED.asfreq("D", "S") == ival_WWED_to_D_start
        assert ival_WWED.asfreq("D", "E") == ival_WWED_to_D_end
        assert ival_WTUE.asfreq("D", "S") == ival_WTUE_to_D_start
        assert ival_WTUE.asfreq("D", "E") == ival_WTUE_to_D_end
        assert ival_WMON.asfreq("D", "S") == ival_WMON_to_D_start
        assert ival_WMON.asfreq("D", "E") == ival_WMON_to_D_end

        assert ival_W.asfreq("H", "S") == ival_W_to_H_start
        assert ival_W.asfreq("H", "E") == ival_W_to_H_end
        assert ival_W.asfreq("Min", "S") == ival_W_to_T_start
        assert ival_W.asfreq("Min", "E") == ival_W_to_T_end
        assert ival_W.asfreq("S", "S") == ival_W_to_S_start
        assert ival_W.asfreq("S", "E") == ival_W_to_S_end

        assert ival_W.asfreq("W") == ival_W

        msg = INVALID_FREQ_ERR_MSG
        with pytest.raises(ValueError, match=msg):
            ival_W.asfreq("WK")
Example #29
0
    def test_conv_daily(self):
        # frequency conversion tests: from Business Frequency"

        ival_D = Period(freq="D", year=2007, month=1, day=1)
        ival_D_end_of_year = Period(freq="D", year=2007, month=12, day=31)
        ival_D_end_of_quarter = Period(freq="D", year=2007, month=3, day=31)
        ival_D_end_of_month = Period(freq="D", year=2007, month=1, day=31)
        ival_D_end_of_week = Period(freq="D", year=2007, month=1, day=7)

        ival_D_friday = Period(freq="D", year=2007, month=1, day=5)
        ival_D_saturday = Period(freq="D", year=2007, month=1, day=6)
        ival_D_sunday = Period(freq="D", year=2007, month=1, day=7)

        ival_B_friday = Period(freq="B", year=2007, month=1, day=5)
        ival_B_monday = Period(freq="B", year=2007, month=1, day=8)

        ival_D_to_A = Period(freq="A", year=2007)

        ival_Deoq_to_AJAN = Period(freq="A-JAN", year=2008)
        ival_Deoq_to_AJUN = Period(freq="A-JUN", year=2007)
        ival_Deoq_to_ADEC = Period(freq="A-DEC", year=2007)

        ival_D_to_QEJAN = Period(freq="Q-JAN", year=2007, quarter=4)
        ival_D_to_QEJUN = Period(freq="Q-JUN", year=2007, quarter=3)
        ival_D_to_QEDEC = Period(freq="Q-DEC", year=2007, quarter=1)

        ival_D_to_M = Period(freq="M", year=2007, month=1)
        ival_D_to_W = Period(freq="W", year=2007, month=1, day=7)

        ival_D_to_H_start = Period(freq="H", year=2007, month=1, day=1, hour=0)
        ival_D_to_H_end = Period(freq="H", year=2007, month=1, day=1, hour=23)
        ival_D_to_T_start = Period(
            freq="Min", year=2007, month=1, day=1, hour=0, minute=0
        )
        ival_D_to_T_end = Period(
            freq="Min", year=2007, month=1, day=1, hour=23, minute=59
        )
        ival_D_to_S_start = Period(
            freq="S", year=2007, month=1, day=1, hour=0, minute=0, second=0
        )
        ival_D_to_S_end = Period(
            freq="S", year=2007, month=1, day=1, hour=23, minute=59, second=59
        )

        assert ival_D.asfreq("A") == ival_D_to_A

        assert ival_D_end_of_quarter.asfreq("A-JAN") == ival_Deoq_to_AJAN
        assert ival_D_end_of_quarter.asfreq("A-JUN") == ival_Deoq_to_AJUN
        assert ival_D_end_of_quarter.asfreq("A-DEC") == ival_Deoq_to_ADEC

        assert ival_D_end_of_year.asfreq("A") == ival_D_to_A
        assert ival_D_end_of_quarter.asfreq("Q") == ival_D_to_QEDEC
        assert ival_D.asfreq("Q-JAN") == ival_D_to_QEJAN
        assert ival_D.asfreq("Q-JUN") == ival_D_to_QEJUN
        assert ival_D.asfreq("Q-DEC") == ival_D_to_QEDEC
        assert ival_D.asfreq("M") == ival_D_to_M
        assert ival_D_end_of_month.asfreq("M") == ival_D_to_M
        assert ival_D.asfreq("W") == ival_D_to_W
        assert ival_D_end_of_week.asfreq("W") == ival_D_to_W

        assert ival_D_friday.asfreq("B") == ival_B_friday
        assert ival_D_saturday.asfreq("B", "S") == ival_B_friday
        assert ival_D_saturday.asfreq("B", "E") == ival_B_monday
        assert ival_D_sunday.asfreq("B", "S") == ival_B_friday
        assert ival_D_sunday.asfreq("B", "E") == ival_B_monday

        assert ival_D.asfreq("H", "S") == ival_D_to_H_start
        assert ival_D.asfreq("H", "E") == ival_D_to_H_end
        assert ival_D.asfreq("Min", "S") == ival_D_to_T_start
        assert ival_D.asfreq("Min", "E") == ival_D_to_T_end
        assert ival_D.asfreq("S", "S") == ival_D_to_S_start
        assert ival_D.asfreq("S", "E") == ival_D_to_S_end

        assert ival_D.asfreq("D") == ival_D
Example #30
0
    def test_conv_monthly(self):
        # frequency conversion tests: from Monthly Frequency

        ival_M = Period(freq='M', year=2007, month=1)
        ival_M_end_of_year = Period(freq='M', year=2007, month=12)
        ival_M_end_of_quarter = Period(freq='M', year=2007, month=3)
        ival_M_to_A = Period(freq='A', year=2007)
        ival_M_to_Q = Period(freq='Q', year=2007, quarter=1)
        ival_M_to_W_start = Period(freq='W', year=2007, month=1, day=1)
        ival_M_to_W_end = Period(freq='W', year=2007, month=1, day=31)
        ival_M_to_B_start = Period(freq='B', year=2007, month=1, day=1)
        ival_M_to_B_end = Period(freq='B', year=2007, month=1, day=31)
        ival_M_to_D_start = Period(freq='D', year=2007, month=1, day=1)
        ival_M_to_D_end = Period(freq='D', year=2007, month=1, day=31)
        ival_M_to_H_start = Period(freq='H', year=2007, month=1, day=1, hour=0)
        ival_M_to_H_end = Period(freq='H', year=2007, month=1, day=31, hour=23)
        ival_M_to_T_start = Period(freq='Min',
                                   year=2007,
                                   month=1,
                                   day=1,
                                   hour=0,
                                   minute=0)
        ival_M_to_T_end = Period(freq='Min',
                                 year=2007,
                                 month=1,
                                 day=31,
                                 hour=23,
                                 minute=59)
        ival_M_to_S_start = Period(freq='S',
                                   year=2007,
                                   month=1,
                                   day=1,
                                   hour=0,
                                   minute=0,
                                   second=0)
        ival_M_to_S_end = Period(freq='S',
                                 year=2007,
                                 month=1,
                                 day=31,
                                 hour=23,
                                 minute=59,
                                 second=59)

        self.assertEqual(ival_M.asfreq('A'), ival_M_to_A)
        self.assertEqual(ival_M_end_of_year.asfreq('A'), ival_M_to_A)
        self.assertEqual(ival_M.asfreq('Q'), ival_M_to_Q)
        self.assertEqual(ival_M_end_of_quarter.asfreq('Q'), ival_M_to_Q)

        self.assertEqual(ival_M.asfreq('W', 'S'), ival_M_to_W_start)
        self.assertEqual(ival_M.asfreq('W', 'E'), ival_M_to_W_end)
        self.assertEqual(ival_M.asfreq('B', 'S'), ival_M_to_B_start)
        self.assertEqual(ival_M.asfreq('B', 'E'), ival_M_to_B_end)
        self.assertEqual(ival_M.asfreq('D', 'S'), ival_M_to_D_start)
        self.assertEqual(ival_M.asfreq('D', 'E'), ival_M_to_D_end)
        self.assertEqual(ival_M.asfreq('H', 'S'), ival_M_to_H_start)
        self.assertEqual(ival_M.asfreq('H', 'E'), ival_M_to_H_end)
        self.assertEqual(ival_M.asfreq('Min', 'S'), ival_M_to_T_start)
        self.assertEqual(ival_M.asfreq('Min', 'E'), ival_M_to_T_end)
        self.assertEqual(ival_M.asfreq('S', 'S'), ival_M_to_S_start)
        self.assertEqual(ival_M.asfreq('S', 'E'), ival_M_to_S_end)

        self.assertEqual(ival_M.asfreq('M'), ival_M)
Example #31
0
    def test_conv_secondly(self):
        # frequency conversion tests: from Secondly Frequency"

        ival_S = Period(freq="S", year=2007, month=1, day=1, hour=0, minute=0, second=0)
        ival_S_end_of_year = Period(
            freq="S", year=2007, month=12, day=31, hour=23, minute=59, second=59
        )
        ival_S_end_of_quarter = Period(
            freq="S", year=2007, month=3, day=31, hour=23, minute=59, second=59
        )
        ival_S_end_of_month = Period(
            freq="S", year=2007, month=1, day=31, hour=23, minute=59, second=59
        )
        ival_S_end_of_week = Period(
            freq="S", year=2007, month=1, day=7, hour=23, minute=59, second=59
        )
        ival_S_end_of_day = Period(
            freq="S", year=2007, month=1, day=1, hour=23, minute=59, second=59
        )
        ival_S_end_of_bus = Period(
            freq="S", year=2007, month=1, day=1, hour=23, minute=59, second=59
        )
        ival_S_end_of_hour = Period(
            freq="S", year=2007, month=1, day=1, hour=0, minute=59, second=59
        )
        ival_S_end_of_minute = Period(
            freq="S", year=2007, month=1, day=1, hour=0, minute=0, second=59
        )

        ival_S_to_A = Period(freq="A", year=2007)
        ival_S_to_Q = Period(freq="Q", year=2007, quarter=1)
        ival_S_to_M = Period(freq="M", year=2007, month=1)
        ival_S_to_W = Period(freq="W", year=2007, month=1, day=7)
        ival_S_to_D = Period(freq="D", year=2007, month=1, day=1)
        ival_S_to_B = Period(freq="B", year=2007, month=1, day=1)
        ival_S_to_H = Period(freq="H", year=2007, month=1, day=1, hour=0)
        ival_S_to_T = Period(freq="Min", year=2007, month=1, day=1, hour=0, minute=0)

        assert ival_S.asfreq("A") == ival_S_to_A
        assert ival_S_end_of_year.asfreq("A") == ival_S_to_A
        assert ival_S.asfreq("Q") == ival_S_to_Q
        assert ival_S_end_of_quarter.asfreq("Q") == ival_S_to_Q
        assert ival_S.asfreq("M") == ival_S_to_M
        assert ival_S_end_of_month.asfreq("M") == ival_S_to_M
        assert ival_S.asfreq("W") == ival_S_to_W
        assert ival_S_end_of_week.asfreq("W") == ival_S_to_W
        assert ival_S.asfreq("D") == ival_S_to_D
        assert ival_S_end_of_day.asfreq("D") == ival_S_to_D
        assert ival_S.asfreq("B") == ival_S_to_B
        assert ival_S_end_of_bus.asfreq("B") == ival_S_to_B
        assert ival_S.asfreq("H") == ival_S_to_H
        assert ival_S_end_of_hour.asfreq("H") == ival_S_to_H
        assert ival_S.asfreq("Min") == ival_S_to_T
        assert ival_S_end_of_minute.asfreq("Min") == ival_S_to_T

        assert ival_S.asfreq("S") == ival_S
Example #32
0
    def test_conv_weekly(self):
        # frequency conversion tests: from Weekly Frequency
        ival_W = Period(freq='W', year=2007, month=1, day=1)

        ival_WSUN = Period(freq='W', year=2007, month=1, day=7)
        ival_WSAT = Period(freq='W-SAT', year=2007, month=1, day=6)
        ival_WFRI = Period(freq='W-FRI', year=2007, month=1, day=5)
        ival_WTHU = Period(freq='W-THU', year=2007, month=1, day=4)
        ival_WWED = Period(freq='W-WED', year=2007, month=1, day=3)
        ival_WTUE = Period(freq='W-TUE', year=2007, month=1, day=2)
        ival_WMON = Period(freq='W-MON', year=2007, month=1, day=1)

        ival_WSUN_to_D_start = Period(freq='D', year=2007, month=1, day=1)
        ival_WSUN_to_D_end = Period(freq='D', year=2007, month=1, day=7)
        ival_WSAT_to_D_start = Period(freq='D', year=2006, month=12, day=31)
        ival_WSAT_to_D_end = Period(freq='D', year=2007, month=1, day=6)
        ival_WFRI_to_D_start = Period(freq='D', year=2006, month=12, day=30)
        ival_WFRI_to_D_end = Period(freq='D', year=2007, month=1, day=5)
        ival_WTHU_to_D_start = Period(freq='D', year=2006, month=12, day=29)
        ival_WTHU_to_D_end = Period(freq='D', year=2007, month=1, day=4)
        ival_WWED_to_D_start = Period(freq='D', year=2006, month=12, day=28)
        ival_WWED_to_D_end = Period(freq='D', year=2007, month=1, day=3)
        ival_WTUE_to_D_start = Period(freq='D', year=2006, month=12, day=27)
        ival_WTUE_to_D_end = Period(freq='D', year=2007, month=1, day=2)
        ival_WMON_to_D_start = Period(freq='D', year=2006, month=12, day=26)
        ival_WMON_to_D_end = Period(freq='D', year=2007, month=1, day=1)

        ival_W_end_of_year = Period(freq='W', year=2007, month=12, day=31)
        ival_W_end_of_quarter = Period(freq='W', year=2007, month=3, day=31)
        ival_W_end_of_month = Period(freq='W', year=2007, month=1, day=31)
        ival_W_to_A = Period(freq='A', year=2007)
        ival_W_to_Q = Period(freq='Q', year=2007, quarter=1)
        ival_W_to_M = Period(freq='M', year=2007, month=1)

        if Period(freq='D', year=2007, month=12, day=31).weekday == 6:
            ival_W_to_A_end_of_year = Period(freq='A', year=2007)
        else:
            ival_W_to_A_end_of_year = Period(freq='A', year=2008)

        if Period(freq='D', year=2007, month=3, day=31).weekday == 6:
            ival_W_to_Q_end_of_quarter = Period(freq='Q', year=2007, quarter=1)
        else:
            ival_W_to_Q_end_of_quarter = Period(freq='Q', year=2007, quarter=2)

        if Period(freq='D', year=2007, month=1, day=31).weekday == 6:
            ival_W_to_M_end_of_month = Period(freq='M', year=2007, month=1)
        else:
            ival_W_to_M_end_of_month = Period(freq='M', year=2007, month=2)

        ival_W_to_B_start = Period(freq='B', year=2007, month=1, day=1)
        ival_W_to_B_end = Period(freq='B', year=2007, month=1, day=5)
        ival_W_to_D_start = Period(freq='D', year=2007, month=1, day=1)
        ival_W_to_D_end = Period(freq='D', year=2007, month=1, day=7)
        ival_W_to_H_start = Period(freq='H', year=2007, month=1, day=1, hour=0)
        ival_W_to_H_end = Period(freq='H', year=2007, month=1, day=7, hour=23)
        ival_W_to_T_start = Period(freq='Min',
                                   year=2007,
                                   month=1,
                                   day=1,
                                   hour=0,
                                   minute=0)
        ival_W_to_T_end = Period(freq='Min',
                                 year=2007,
                                 month=1,
                                 day=7,
                                 hour=23,
                                 minute=59)
        ival_W_to_S_start = Period(freq='S',
                                   year=2007,
                                   month=1,
                                   day=1,
                                   hour=0,
                                   minute=0,
                                   second=0)
        ival_W_to_S_end = Period(freq='S',
                                 year=2007,
                                 month=1,
                                 day=7,
                                 hour=23,
                                 minute=59,
                                 second=59)

        self.assertEqual(ival_W.asfreq('A'), ival_W_to_A)
        self.assertEqual(ival_W_end_of_year.asfreq('A'),
                         ival_W_to_A_end_of_year)
        self.assertEqual(ival_W.asfreq('Q'), ival_W_to_Q)
        self.assertEqual(ival_W_end_of_quarter.asfreq('Q'),
                         ival_W_to_Q_end_of_quarter)
        self.assertEqual(ival_W.asfreq('M'), ival_W_to_M)
        self.assertEqual(ival_W_end_of_month.asfreq('M'),
                         ival_W_to_M_end_of_month)

        self.assertEqual(ival_W.asfreq('B', 'S'), ival_W_to_B_start)
        self.assertEqual(ival_W.asfreq('B', 'E'), ival_W_to_B_end)

        self.assertEqual(ival_W.asfreq('D', 'S'), ival_W_to_D_start)
        self.assertEqual(ival_W.asfreq('D', 'E'), ival_W_to_D_end)

        self.assertEqual(ival_WSUN.asfreq('D', 'S'), ival_WSUN_to_D_start)
        self.assertEqual(ival_WSUN.asfreq('D', 'E'), ival_WSUN_to_D_end)
        self.assertEqual(ival_WSAT.asfreq('D', 'S'), ival_WSAT_to_D_start)
        self.assertEqual(ival_WSAT.asfreq('D', 'E'), ival_WSAT_to_D_end)
        self.assertEqual(ival_WFRI.asfreq('D', 'S'), ival_WFRI_to_D_start)
        self.assertEqual(ival_WFRI.asfreq('D', 'E'), ival_WFRI_to_D_end)
        self.assertEqual(ival_WTHU.asfreq('D', 'S'), ival_WTHU_to_D_start)
        self.assertEqual(ival_WTHU.asfreq('D', 'E'), ival_WTHU_to_D_end)
        self.assertEqual(ival_WWED.asfreq('D', 'S'), ival_WWED_to_D_start)
        self.assertEqual(ival_WWED.asfreq('D', 'E'), ival_WWED_to_D_end)
        self.assertEqual(ival_WTUE.asfreq('D', 'S'), ival_WTUE_to_D_start)
        self.assertEqual(ival_WTUE.asfreq('D', 'E'), ival_WTUE_to_D_end)
        self.assertEqual(ival_WMON.asfreq('D', 'S'), ival_WMON_to_D_start)
        self.assertEqual(ival_WMON.asfreq('D', 'E'), ival_WMON_to_D_end)

        self.assertEqual(ival_W.asfreq('H', 'S'), ival_W_to_H_start)
        self.assertEqual(ival_W.asfreq('H', 'E'), ival_W_to_H_end)
        self.assertEqual(ival_W.asfreq('Min', 'S'), ival_W_to_T_start)
        self.assertEqual(ival_W.asfreq('Min', 'E'), ival_W_to_T_end)
        self.assertEqual(ival_W.asfreq('S', 'S'), ival_W_to_S_start)
        self.assertEqual(ival_W.asfreq('S', 'E'), ival_W_to_S_end)

        self.assertEqual(ival_W.asfreq('W'), ival_W)

        msg = pd.tseries.frequencies._INVALID_FREQ_ERROR
        with tm.assert_raises_regex(ValueError, msg):
            ival_W.asfreq('WK')
Example #33
0
    def test_conv_minutely(self):
        # frequency conversion tests: from Minutely Frequency"

        ival_T = Period(freq='Min', year=2007, month=1, day=1, hour=0,
                        minute=0)
        ival_T_end_of_year = Period(freq='Min', year=2007, month=12, day=31,
                                    hour=23, minute=59)
        ival_T_end_of_quarter = Period(freq='Min', year=2007, month=3, day=31,
                                       hour=23, minute=59)
        ival_T_end_of_month = Period(freq='Min', year=2007, month=1, day=31,
                                     hour=23, minute=59)
        ival_T_end_of_week = Period(freq='Min', year=2007, month=1, day=7,
                                    hour=23, minute=59)
        ival_T_end_of_day = Period(freq='Min', year=2007, month=1, day=1,
                                   hour=23, minute=59)
        ival_T_end_of_bus = Period(freq='Min', year=2007, month=1, day=1,
                                   hour=23, minute=59)
        ival_T_end_of_hour = Period(freq='Min', year=2007, month=1, day=1,
                                    hour=0, minute=59)

        ival_T_to_A = Period(freq='A', year=2007)
        ival_T_to_Q = Period(freq='Q', year=2007, quarter=1)
        ival_T_to_M = Period(freq='M', year=2007, month=1)
        ival_T_to_W = Period(freq='W', year=2007, month=1, day=7)
        ival_T_to_D = Period(freq='D', year=2007, month=1, day=1)
        ival_T_to_B = Period(freq='B', year=2007, month=1, day=1)
        ival_T_to_H = Period(freq='H', year=2007, month=1, day=1, hour=0)

        ival_T_to_S_start = Period(freq='S', year=2007, month=1, day=1, hour=0,
                                   minute=0, second=0)
        ival_T_to_S_end = Period(freq='S', year=2007, month=1, day=1, hour=0,
                                 minute=0, second=59)

        self.assertEqual(ival_T.asfreq('A'), ival_T_to_A)
        self.assertEqual(ival_T_end_of_year.asfreq('A'), ival_T_to_A)
        self.assertEqual(ival_T.asfreq('Q'), ival_T_to_Q)
        self.assertEqual(ival_T_end_of_quarter.asfreq('Q'), ival_T_to_Q)
        self.assertEqual(ival_T.asfreq('M'), ival_T_to_M)
        self.assertEqual(ival_T_end_of_month.asfreq('M'), ival_T_to_M)
        self.assertEqual(ival_T.asfreq('W'), ival_T_to_W)
        self.assertEqual(ival_T_end_of_week.asfreq('W'), ival_T_to_W)
        self.assertEqual(ival_T.asfreq('D'), ival_T_to_D)
        self.assertEqual(ival_T_end_of_day.asfreq('D'), ival_T_to_D)
        self.assertEqual(ival_T.asfreq('B'), ival_T_to_B)
        self.assertEqual(ival_T_end_of_bus.asfreq('B'), ival_T_to_B)
        self.assertEqual(ival_T.asfreq('H'), ival_T_to_H)
        self.assertEqual(ival_T_end_of_hour.asfreq('H'), ival_T_to_H)

        self.assertEqual(ival_T.asfreq('S', 'S'), ival_T_to_S_start)
        self.assertEqual(ival_T.asfreq('S', 'E'), ival_T_to_S_end)

        self.assertEqual(ival_T.asfreq('Min'), ival_T)
Example #34
0
    def test_conv_daily(self):
        # frequency conversion tests: from Business Frequency"

        ival_D = Period(freq='D', year=2007, month=1, day=1)
        ival_D_end_of_year = Period(freq='D', year=2007, month=12, day=31)
        ival_D_end_of_quarter = Period(freq='D', year=2007, month=3, day=31)
        ival_D_end_of_month = Period(freq='D', year=2007, month=1, day=31)
        ival_D_end_of_week = Period(freq='D', year=2007, month=1, day=7)

        ival_D_friday = Period(freq='D', year=2007, month=1, day=5)
        ival_D_saturday = Period(freq='D', year=2007, month=1, day=6)
        ival_D_sunday = Period(freq='D', year=2007, month=1, day=7)

        # TODO: unused?
        # ival_D_monday = Period(freq='D', year=2007, month=1, day=8)

        ival_B_friday = Period(freq='B', year=2007, month=1, day=5)
        ival_B_monday = Period(freq='B', year=2007, month=1, day=8)

        ival_D_to_A = Period(freq='A', year=2007)

        ival_Deoq_to_AJAN = Period(freq='A-JAN', year=2008)
        ival_Deoq_to_AJUN = Period(freq='A-JUN', year=2007)
        ival_Deoq_to_ADEC = Period(freq='A-DEC', year=2007)

        ival_D_to_QEJAN = Period(freq="Q-JAN", year=2007, quarter=4)
        ival_D_to_QEJUN = Period(freq="Q-JUN", year=2007, quarter=3)
        ival_D_to_QEDEC = Period(freq="Q-DEC", year=2007, quarter=1)

        ival_D_to_M = Period(freq='M', year=2007, month=1)
        ival_D_to_W = Period(freq='W', year=2007, month=1, day=7)

        ival_D_to_H_start = Period(freq='H', year=2007, month=1, day=1, hour=0)
        ival_D_to_H_end = Period(freq='H', year=2007, month=1, day=1, hour=23)
        ival_D_to_T_start = Period(freq='Min',
                                   year=2007,
                                   month=1,
                                   day=1,
                                   hour=0,
                                   minute=0)
        ival_D_to_T_end = Period(freq='Min',
                                 year=2007,
                                 month=1,
                                 day=1,
                                 hour=23,
                                 minute=59)
        ival_D_to_S_start = Period(freq='S',
                                   year=2007,
                                   month=1,
                                   day=1,
                                   hour=0,
                                   minute=0,
                                   second=0)
        ival_D_to_S_end = Period(freq='S',
                                 year=2007,
                                 month=1,
                                 day=1,
                                 hour=23,
                                 minute=59,
                                 second=59)

        self.assertEqual(ival_D.asfreq('A'), ival_D_to_A)

        self.assertEqual(ival_D_end_of_quarter.asfreq('A-JAN'),
                         ival_Deoq_to_AJAN)
        self.assertEqual(ival_D_end_of_quarter.asfreq('A-JUN'),
                         ival_Deoq_to_AJUN)
        self.assertEqual(ival_D_end_of_quarter.asfreq('A-DEC'),
                         ival_Deoq_to_ADEC)

        self.assertEqual(ival_D_end_of_year.asfreq('A'), ival_D_to_A)
        self.assertEqual(ival_D_end_of_quarter.asfreq('Q'), ival_D_to_QEDEC)
        self.assertEqual(ival_D.asfreq("Q-JAN"), ival_D_to_QEJAN)
        self.assertEqual(ival_D.asfreq("Q-JUN"), ival_D_to_QEJUN)
        self.assertEqual(ival_D.asfreq("Q-DEC"), ival_D_to_QEDEC)
        self.assertEqual(ival_D.asfreq('M'), ival_D_to_M)
        self.assertEqual(ival_D_end_of_month.asfreq('M'), ival_D_to_M)
        self.assertEqual(ival_D.asfreq('W'), ival_D_to_W)
        self.assertEqual(ival_D_end_of_week.asfreq('W'), ival_D_to_W)

        self.assertEqual(ival_D_friday.asfreq('B'), ival_B_friday)
        self.assertEqual(ival_D_saturday.asfreq('B', 'S'), ival_B_friday)
        self.assertEqual(ival_D_saturday.asfreq('B', 'E'), ival_B_monday)
        self.assertEqual(ival_D_sunday.asfreq('B', 'S'), ival_B_friday)
        self.assertEqual(ival_D_sunday.asfreq('B', 'E'), ival_B_monday)

        self.assertEqual(ival_D.asfreq('H', 'S'), ival_D_to_H_start)
        self.assertEqual(ival_D.asfreq('H', 'E'), ival_D_to_H_end)
        self.assertEqual(ival_D.asfreq('Min', 'S'), ival_D_to_T_start)
        self.assertEqual(ival_D.asfreq('Min', 'E'), ival_D_to_T_end)
        self.assertEqual(ival_D.asfreq('S', 'S'), ival_D_to_S_start)
        self.assertEqual(ival_D.asfreq('S', 'E'), ival_D_to_S_end)

        self.assertEqual(ival_D.asfreq('D'), ival_D)
Example #35
0
    def test_conv_quarterly(self):
        # frequency conversion tests: from Quarterly Frequency

        ival_Q = Period(freq='Q', year=2007, quarter=1)
        ival_Q_end_of_year = Period(freq='Q', year=2007, quarter=4)

        ival_QEJAN = Period(freq="Q-JAN", year=2007, quarter=1)
        ival_QEJUN = Period(freq="Q-JUN", year=2007, quarter=1)

        ival_Q_to_A = Period(freq='A', year=2007)
        ival_Q_to_M_start = Period(freq='M', year=2007, month=1)
        ival_Q_to_M_end = Period(freq='M', year=2007, month=3)
        ival_Q_to_W_start = Period(freq='W', year=2007, month=1, day=1)
        ival_Q_to_W_end = Period(freq='W', year=2007, month=3, day=31)
        ival_Q_to_B_start = Period(freq='B', year=2007, month=1, day=1)
        ival_Q_to_B_end = Period(freq='B', year=2007, month=3, day=30)
        ival_Q_to_D_start = Period(freq='D', year=2007, month=1, day=1)
        ival_Q_to_D_end = Period(freq='D', year=2007, month=3, day=31)
        ival_Q_to_H_start = Period(freq='H', year=2007, month=1, day=1, hour=0)
        ival_Q_to_H_end = Period(freq='H', year=2007, month=3, day=31, hour=23)
        ival_Q_to_T_start = Period(freq='Min', year=2007, month=1, day=1,
                                   hour=0, minute=0)
        ival_Q_to_T_end = Period(freq='Min', year=2007, month=3, day=31,
                                 hour=23, minute=59)
        ival_Q_to_S_start = Period(freq='S', year=2007, month=1, day=1, hour=0,
                                   minute=0, second=0)
        ival_Q_to_S_end = Period(freq='S', year=2007, month=3, day=31, hour=23,
                                 minute=59, second=59)

        ival_QEJAN_to_D_start = Period(freq='D', year=2006, month=2, day=1)
        ival_QEJAN_to_D_end = Period(freq='D', year=2006, month=4, day=30)

        ival_QEJUN_to_D_start = Period(freq='D', year=2006, month=7, day=1)
        ival_QEJUN_to_D_end = Period(freq='D', year=2006, month=9, day=30)

        assert ival_Q.asfreq('A') == ival_Q_to_A
        assert ival_Q_end_of_year.asfreq('A') == ival_Q_to_A

        assert ival_Q.asfreq('M', 'S') == ival_Q_to_M_start
        assert ival_Q.asfreq('M', 'E') == ival_Q_to_M_end
        assert ival_Q.asfreq('W', 'S') == ival_Q_to_W_start
        assert ival_Q.asfreq('W', 'E') == ival_Q_to_W_end
        assert ival_Q.asfreq('B', 'S') == ival_Q_to_B_start
        assert ival_Q.asfreq('B', 'E') == ival_Q_to_B_end
        assert ival_Q.asfreq('D', 'S') == ival_Q_to_D_start
        assert ival_Q.asfreq('D', 'E') == ival_Q_to_D_end
        assert ival_Q.asfreq('H', 'S') == ival_Q_to_H_start
        assert ival_Q.asfreq('H', 'E') == ival_Q_to_H_end
        assert ival_Q.asfreq('Min', 'S') == ival_Q_to_T_start
        assert ival_Q.asfreq('Min', 'E') == ival_Q_to_T_end
        assert ival_Q.asfreq('S', 'S') == ival_Q_to_S_start
        assert ival_Q.asfreq('S', 'E') == ival_Q_to_S_end

        assert ival_QEJAN.asfreq('D', 'S') == ival_QEJAN_to_D_start
        assert ival_QEJAN.asfreq('D', 'E') == ival_QEJAN_to_D_end
        assert ival_QEJUN.asfreq('D', 'S') == ival_QEJUN_to_D_start
        assert ival_QEJUN.asfreq('D', 'E') == ival_QEJUN_to_D_end

        assert ival_Q.asfreq('Q') == ival_Q
Example #36
0
    def test_asfreq_mult(self):
        # normal freq to mult freq
        p = Period(freq='A', year=2007)
        # ordinal will not change
        for freq in ['3A', offsets.YearEnd(3)]:
            result = p.asfreq(freq)
            expected = Period('2007', freq='3A')

            self.assertEqual(result, expected)
            self.assertEqual(result.ordinal, expected.ordinal)
            self.assertEqual(result.freq, expected.freq)
        # ordinal will not change
        for freq in ['3A', offsets.YearEnd(3)]:
            result = p.asfreq(freq, how='S')
            expected = Period('2007', freq='3A')

            self.assertEqual(result, expected)
            self.assertEqual(result.ordinal, expected.ordinal)
            self.assertEqual(result.freq, expected.freq)

        # mult freq to normal freq
        p = Period(freq='3A', year=2007)
        # ordinal will change because how=E is the default
        for freq in ['A', offsets.YearEnd()]:
            result = p.asfreq(freq)
            expected = Period('2009', freq='A')

            self.assertEqual(result, expected)
            self.assertEqual(result.ordinal, expected.ordinal)
            self.assertEqual(result.freq, expected.freq)
        # ordinal will not change
        for freq in ['A', offsets.YearEnd()]:
            result = p.asfreq(freq, how='S')
            expected = Period('2007', freq='A')

            self.assertEqual(result, expected)
            self.assertEqual(result.ordinal, expected.ordinal)
            self.assertEqual(result.freq, expected.freq)

        p = Period(freq='A', year=2007)
        for freq in ['2M', offsets.MonthEnd(2)]:
            result = p.asfreq(freq)
            expected = Period('2007-12', freq='2M')

            self.assertEqual(result, expected)
            self.assertEqual(result.ordinal, expected.ordinal)
            self.assertEqual(result.freq, expected.freq)
        for freq in ['2M', offsets.MonthEnd(2)]:
            result = p.asfreq(freq, how='S')
            expected = Period('2007-01', freq='2M')

            self.assertEqual(result, expected)
            self.assertEqual(result.ordinal, expected.ordinal)
            self.assertEqual(result.freq, expected.freq)

        p = Period(freq='3A', year=2007)
        for freq in ['2M', offsets.MonthEnd(2)]:
            result = p.asfreq(freq)
            expected = Period('2009-12', freq='2M')

            self.assertEqual(result, expected)
            self.assertEqual(result.ordinal, expected.ordinal)
            self.assertEqual(result.freq, expected.freq)
        for freq in ['2M', offsets.MonthEnd(2)]:
            result = p.asfreq(freq, how='S')
            expected = Period('2007-01', freq='2M')

            self.assertEqual(result, expected)
            self.assertEqual(result.ordinal, expected.ordinal)
            self.assertEqual(result.freq, expected.freq)
Example #37
0
    def test_conv_monthly(self):
        # frequency conversion tests: from Monthly Frequency

        ival_M = Period(freq='M', year=2007, month=1)
        ival_M_end_of_year = Period(freq='M', year=2007, month=12)
        ival_M_end_of_quarter = Period(freq='M', year=2007, month=3)
        ival_M_to_A = Period(freq='A', year=2007)
        ival_M_to_Q = Period(freq='Q', year=2007, quarter=1)
        ival_M_to_W_start = Period(freq='W', year=2007, month=1, day=1)
        ival_M_to_W_end = Period(freq='W', year=2007, month=1, day=31)
        ival_M_to_B_start = Period(freq='B', year=2007, month=1, day=1)
        ival_M_to_B_end = Period(freq='B', year=2007, month=1, day=31)
        ival_M_to_D_start = Period(freq='D', year=2007, month=1, day=1)
        ival_M_to_D_end = Period(freq='D', year=2007, month=1, day=31)
        ival_M_to_H_start = Period(freq='H', year=2007, month=1, day=1, hour=0)
        ival_M_to_H_end = Period(freq='H', year=2007, month=1, day=31, hour=23)
        ival_M_to_T_start = Period(freq='Min', year=2007, month=1, day=1,
                                   hour=0, minute=0)
        ival_M_to_T_end = Period(freq='Min', year=2007, month=1, day=31,
                                 hour=23, minute=59)
        ival_M_to_S_start = Period(freq='S', year=2007, month=1, day=1, hour=0,
                                   minute=0, second=0)
        ival_M_to_S_end = Period(freq='S', year=2007, month=1, day=31, hour=23,
                                 minute=59, second=59)

        assert ival_M.asfreq('A') == ival_M_to_A
        assert ival_M_end_of_year.asfreq('A') == ival_M_to_A
        assert ival_M.asfreq('Q') == ival_M_to_Q
        assert ival_M_end_of_quarter.asfreq('Q') == ival_M_to_Q

        assert ival_M.asfreq('W', 'S') == ival_M_to_W_start
        assert ival_M.asfreq('W', 'E') == ival_M_to_W_end
        assert ival_M.asfreq('B', 'S') == ival_M_to_B_start
        assert ival_M.asfreq('B', 'E') == ival_M_to_B_end
        assert ival_M.asfreq('D', 'S') == ival_M_to_D_start
        assert ival_M.asfreq('D', 'E') == ival_M_to_D_end
        assert ival_M.asfreq('H', 'S') == ival_M_to_H_start
        assert ival_M.asfreq('H', 'E') == ival_M_to_H_end
        assert ival_M.asfreq('Min', 'S') == ival_M_to_T_start
        assert ival_M.asfreq('Min', 'E') == ival_M_to_T_end
        assert ival_M.asfreq('S', 'S') == ival_M_to_S_start
        assert ival_M.asfreq('S', 'E') == ival_M_to_S_end

        assert ival_M.asfreq('M') == ival_M
Example #38
0
    def test_conv_monthly(self):
        # frequency conversion tests: from Monthly Frequency

        ival_M = Period(freq="M", year=2007, month=1)
        ival_M_end_of_year = Period(freq="M", year=2007, month=12)
        ival_M_end_of_quarter = Period(freq="M", year=2007, month=3)
        ival_M_to_A = Period(freq="A", year=2007)
        ival_M_to_Q = Period(freq="Q", year=2007, quarter=1)
        ival_M_to_W_start = Period(freq="W", year=2007, month=1, day=1)
        ival_M_to_W_end = Period(freq="W", year=2007, month=1, day=31)
        ival_M_to_B_start = Period(freq="B", year=2007, month=1, day=1)
        ival_M_to_B_end = Period(freq="B", year=2007, month=1, day=31)
        ival_M_to_D_start = Period(freq="D", year=2007, month=1, day=1)
        ival_M_to_D_end = Period(freq="D", year=2007, month=1, day=31)
        ival_M_to_H_start = Period(freq="H", year=2007, month=1, day=1, hour=0)
        ival_M_to_H_end = Period(freq="H", year=2007, month=1, day=31, hour=23)
        ival_M_to_T_start = Period(
            freq="Min", year=2007, month=1, day=1, hour=0, minute=0
        )
        ival_M_to_T_end = Period(
            freq="Min", year=2007, month=1, day=31, hour=23, minute=59
        )
        ival_M_to_S_start = Period(
            freq="S", year=2007, month=1, day=1, hour=0, minute=0, second=0
        )
        ival_M_to_S_end = Period(
            freq="S", year=2007, month=1, day=31, hour=23, minute=59, second=59
        )

        assert ival_M.asfreq("A") == ival_M_to_A
        assert ival_M_end_of_year.asfreq("A") == ival_M_to_A
        assert ival_M.asfreq("Q") == ival_M_to_Q
        assert ival_M_end_of_quarter.asfreq("Q") == ival_M_to_Q

        assert ival_M.asfreq("W", "S") == ival_M_to_W_start
        assert ival_M.asfreq("W", "E") == ival_M_to_W_end
        assert ival_M.asfreq("B", "S") == ival_M_to_B_start
        assert ival_M.asfreq("B", "E") == ival_M_to_B_end
        assert ival_M.asfreq("D", "S") == ival_M_to_D_start
        assert ival_M.asfreq("D", "E") == ival_M_to_D_end
        assert ival_M.asfreq("H", "S") == ival_M_to_H_start
        assert ival_M.asfreq("H", "E") == ival_M_to_H_end
        assert ival_M.asfreq("Min", "S") == ival_M_to_T_start
        assert ival_M.asfreq("Min", "E") == ival_M_to_T_end
        assert ival_M.asfreq("S", "S") == ival_M_to_S_start
        assert ival_M.asfreq("S", "E") == ival_M_to_S_end

        assert ival_M.asfreq("M") == ival_M
Example #39
0
    def test_conv_weekly(self):
        # frequency conversion tests: from Weekly Frequency
        ival_W = Period(freq='W', year=2007, month=1, day=1)

        ival_WSUN = Period(freq='W', year=2007, month=1, day=7)
        ival_WSAT = Period(freq='W-SAT', year=2007, month=1, day=6)
        ival_WFRI = Period(freq='W-FRI', year=2007, month=1, day=5)
        ival_WTHU = Period(freq='W-THU', year=2007, month=1, day=4)
        ival_WWED = Period(freq='W-WED', year=2007, month=1, day=3)
        ival_WTUE = Period(freq='W-TUE', year=2007, month=1, day=2)
        ival_WMON = Period(freq='W-MON', year=2007, month=1, day=1)

        ival_WSUN_to_D_start = Period(freq='D', year=2007, month=1, day=1)
        ival_WSUN_to_D_end = Period(freq='D', year=2007, month=1, day=7)
        ival_WSAT_to_D_start = Period(freq='D', year=2006, month=12, day=31)
        ival_WSAT_to_D_end = Period(freq='D', year=2007, month=1, day=6)
        ival_WFRI_to_D_start = Period(freq='D', year=2006, month=12, day=30)
        ival_WFRI_to_D_end = Period(freq='D', year=2007, month=1, day=5)
        ival_WTHU_to_D_start = Period(freq='D', year=2006, month=12, day=29)
        ival_WTHU_to_D_end = Period(freq='D', year=2007, month=1, day=4)
        ival_WWED_to_D_start = Period(freq='D', year=2006, month=12, day=28)
        ival_WWED_to_D_end = Period(freq='D', year=2007, month=1, day=3)
        ival_WTUE_to_D_start = Period(freq='D', year=2006, month=12, day=27)
        ival_WTUE_to_D_end = Period(freq='D', year=2007, month=1, day=2)
        ival_WMON_to_D_start = Period(freq='D', year=2006, month=12, day=26)
        ival_WMON_to_D_end = Period(freq='D', year=2007, month=1, day=1)

        ival_W_end_of_year = Period(freq='W', year=2007, month=12, day=31)
        ival_W_end_of_quarter = Period(freq='W', year=2007, month=3, day=31)
        ival_W_end_of_month = Period(freq='W', year=2007, month=1, day=31)
        ival_W_to_A = Period(freq='A', year=2007)
        ival_W_to_Q = Period(freq='Q', year=2007, quarter=1)
        ival_W_to_M = Period(freq='M', year=2007, month=1)

        if Period(freq='D', year=2007, month=12, day=31).weekday == 6:
            ival_W_to_A_end_of_year = Period(freq='A', year=2007)
        else:
            ival_W_to_A_end_of_year = Period(freq='A', year=2008)

        if Period(freq='D', year=2007, month=3, day=31).weekday == 6:
            ival_W_to_Q_end_of_quarter = Period(freq='Q', year=2007, quarter=1)
        else:
            ival_W_to_Q_end_of_quarter = Period(freq='Q', year=2007, quarter=2)

        if Period(freq='D', year=2007, month=1, day=31).weekday == 6:
            ival_W_to_M_end_of_month = Period(freq='M', year=2007, month=1)
        else:
            ival_W_to_M_end_of_month = Period(freq='M', year=2007, month=2)

        ival_W_to_B_start = Period(freq='B', year=2007, month=1, day=1)
        ival_W_to_B_end = Period(freq='B', year=2007, month=1, day=5)
        ival_W_to_D_start = Period(freq='D', year=2007, month=1, day=1)
        ival_W_to_D_end = Period(freq='D', year=2007, month=1, day=7)
        ival_W_to_H_start = Period(freq='H', year=2007, month=1, day=1, hour=0)
        ival_W_to_H_end = Period(freq='H', year=2007, month=1, day=7, hour=23)
        ival_W_to_T_start = Period(freq='Min', year=2007, month=1, day=1,
                                   hour=0, minute=0)
        ival_W_to_T_end = Period(freq='Min', year=2007, month=1, day=7,
                                 hour=23, minute=59)
        ival_W_to_S_start = Period(freq='S', year=2007, month=1, day=1, hour=0,
                                   minute=0, second=0)
        ival_W_to_S_end = Period(freq='S', year=2007, month=1, day=7, hour=23,
                                 minute=59, second=59)

        assert ival_W.asfreq('A') == ival_W_to_A
        assert ival_W_end_of_year.asfreq('A') == ival_W_to_A_end_of_year

        assert ival_W.asfreq('Q') == ival_W_to_Q
        assert ival_W_end_of_quarter.asfreq('Q') == ival_W_to_Q_end_of_quarter

        assert ival_W.asfreq('M') == ival_W_to_M
        assert ival_W_end_of_month.asfreq('M') == ival_W_to_M_end_of_month

        assert ival_W.asfreq('B', 'S') == ival_W_to_B_start
        assert ival_W.asfreq('B', 'E') == ival_W_to_B_end

        assert ival_W.asfreq('D', 'S') == ival_W_to_D_start
        assert ival_W.asfreq('D', 'E') == ival_W_to_D_end

        assert ival_WSUN.asfreq('D', 'S') == ival_WSUN_to_D_start
        assert ival_WSUN.asfreq('D', 'E') == ival_WSUN_to_D_end
        assert ival_WSAT.asfreq('D', 'S') == ival_WSAT_to_D_start
        assert ival_WSAT.asfreq('D', 'E') == ival_WSAT_to_D_end
        assert ival_WFRI.asfreq('D', 'S') == ival_WFRI_to_D_start
        assert ival_WFRI.asfreq('D', 'E') == ival_WFRI_to_D_end
        assert ival_WTHU.asfreq('D', 'S') == ival_WTHU_to_D_start
        assert ival_WTHU.asfreq('D', 'E') == ival_WTHU_to_D_end
        assert ival_WWED.asfreq('D', 'S') == ival_WWED_to_D_start
        assert ival_WWED.asfreq('D', 'E') == ival_WWED_to_D_end
        assert ival_WTUE.asfreq('D', 'S') == ival_WTUE_to_D_start
        assert ival_WTUE.asfreq('D', 'E') == ival_WTUE_to_D_end
        assert ival_WMON.asfreq('D', 'S') == ival_WMON_to_D_start
        assert ival_WMON.asfreq('D', 'E') == ival_WMON_to_D_end

        assert ival_W.asfreq('H', 'S') == ival_W_to_H_start
        assert ival_W.asfreq('H', 'E') == ival_W_to_H_end
        assert ival_W.asfreq('Min', 'S') == ival_W_to_T_start
        assert ival_W.asfreq('Min', 'E') == ival_W_to_T_end
        assert ival_W.asfreq('S', 'S') == ival_W_to_S_start
        assert ival_W.asfreq('S', 'E') == ival_W_to_S_end

        assert ival_W.asfreq('W') == ival_W

        msg = INVALID_FREQ_ERR_MSG
        with pytest.raises(ValueError, match=msg):
            ival_W.asfreq('WK')
Example #40
0
    def test_conv_business(self):
        # frequency conversion tests: from Business Frequency"

        ival_B = Period(freq="B", year=2007, month=1, day=1)
        ival_B_end_of_year = Period(freq="B", year=2007, month=12, day=31)
        ival_B_end_of_quarter = Period(freq="B", year=2007, month=3, day=30)
        ival_B_end_of_month = Period(freq="B", year=2007, month=1, day=31)
        ival_B_end_of_week = Period(freq="B", year=2007, month=1, day=5)

        ival_B_to_A = Period(freq="A", year=2007)
        ival_B_to_Q = Period(freq="Q", year=2007, quarter=1)
        ival_B_to_M = Period(freq="M", year=2007, month=1)
        ival_B_to_W = Period(freq="W", year=2007, month=1, day=7)
        ival_B_to_D = Period(freq="D", year=2007, month=1, day=1)
        ival_B_to_H_start = Period(freq="H", year=2007, month=1, day=1, hour=0)
        ival_B_to_H_end = Period(freq="H", year=2007, month=1, day=1, hour=23)
        ival_B_to_T_start = Period(
            freq="Min", year=2007, month=1, day=1, hour=0, minute=0
        )
        ival_B_to_T_end = Period(
            freq="Min", year=2007, month=1, day=1, hour=23, minute=59
        )
        ival_B_to_S_start = Period(
            freq="S", year=2007, month=1, day=1, hour=0, minute=0, second=0
        )
        ival_B_to_S_end = Period(
            freq="S", year=2007, month=1, day=1, hour=23, minute=59, second=59
        )

        assert ival_B.asfreq("A") == ival_B_to_A
        assert ival_B_end_of_year.asfreq("A") == ival_B_to_A
        assert ival_B.asfreq("Q") == ival_B_to_Q
        assert ival_B_end_of_quarter.asfreq("Q") == ival_B_to_Q
        assert ival_B.asfreq("M") == ival_B_to_M
        assert ival_B_end_of_month.asfreq("M") == ival_B_to_M
        assert ival_B.asfreq("W") == ival_B_to_W
        assert ival_B_end_of_week.asfreq("W") == ival_B_to_W

        assert ival_B.asfreq("D") == ival_B_to_D

        assert ival_B.asfreq("H", "S") == ival_B_to_H_start
        assert ival_B.asfreq("H", "E") == ival_B_to_H_end
        assert ival_B.asfreq("Min", "S") == ival_B_to_T_start
        assert ival_B.asfreq("Min", "E") == ival_B_to_T_end
        assert ival_B.asfreq("S", "S") == ival_B_to_S_start
        assert ival_B.asfreq("S", "E") == ival_B_to_S_end

        assert ival_B.asfreq("B") == ival_B
Example #41
0
    def test_conv_business(self):
        # frequency conversion tests: from Business Frequency"

        ival_B = Period(freq='B', year=2007, month=1, day=1)
        ival_B_end_of_year = Period(freq='B', year=2007, month=12, day=31)
        ival_B_end_of_quarter = Period(freq='B', year=2007, month=3, day=30)
        ival_B_end_of_month = Period(freq='B', year=2007, month=1, day=31)
        ival_B_end_of_week = Period(freq='B', year=2007, month=1, day=5)

        ival_B_to_A = Period(freq='A', year=2007)
        ival_B_to_Q = Period(freq='Q', year=2007, quarter=1)
        ival_B_to_M = Period(freq='M', year=2007, month=1)
        ival_B_to_W = Period(freq='W', year=2007, month=1, day=7)
        ival_B_to_D = Period(freq='D', year=2007, month=1, day=1)
        ival_B_to_H_start = Period(freq='H', year=2007, month=1, day=1, hour=0)
        ival_B_to_H_end = Period(freq='H', year=2007, month=1, day=1, hour=23)
        ival_B_to_T_start = Period(freq='Min', year=2007, month=1, day=1,
                                   hour=0, minute=0)
        ival_B_to_T_end = Period(freq='Min', year=2007, month=1, day=1,
                                 hour=23, minute=59)
        ival_B_to_S_start = Period(freq='S', year=2007, month=1, day=1, hour=0,
                                   minute=0, second=0)
        ival_B_to_S_end = Period(freq='S', year=2007, month=1, day=1, hour=23,
                                 minute=59, second=59)

        assert ival_B.asfreq('A') == ival_B_to_A
        assert ival_B_end_of_year.asfreq('A') == ival_B_to_A
        assert ival_B.asfreq('Q') == ival_B_to_Q
        assert ival_B_end_of_quarter.asfreq('Q') == ival_B_to_Q
        assert ival_B.asfreq('M') == ival_B_to_M
        assert ival_B_end_of_month.asfreq('M') == ival_B_to_M
        assert ival_B.asfreq('W') == ival_B_to_W
        assert ival_B_end_of_week.asfreq('W') == ival_B_to_W

        assert ival_B.asfreq('D') == ival_B_to_D

        assert ival_B.asfreq('H', 'S') == ival_B_to_H_start
        assert ival_B.asfreq('H', 'E') == ival_B_to_H_end
        assert ival_B.asfreq('Min', 'S') == ival_B_to_T_start
        assert ival_B.asfreq('Min', 'E') == ival_B_to_T_end
        assert ival_B.asfreq('S', 'S') == ival_B_to_S_start
        assert ival_B.asfreq('S', 'E') == ival_B_to_S_end

        assert ival_B.asfreq('B') == ival_B
Example #42
0
    def test_conv_annual(self):
        # frequency conversion tests: from Annual Frequency

        ival_A = Period(freq="A", year=2007)

        ival_AJAN = Period(freq="A-JAN", year=2007)
        ival_AJUN = Period(freq="A-JUN", year=2007)
        ival_ANOV = Period(freq="A-NOV", year=2007)

        ival_A_to_Q_start = Period(freq="Q", year=2007, quarter=1)
        ival_A_to_Q_end = Period(freq="Q", year=2007, quarter=4)
        ival_A_to_M_start = Period(freq="M", year=2007, month=1)
        ival_A_to_M_end = Period(freq="M", year=2007, month=12)
        ival_A_to_W_start = Period(freq="W", year=2007, month=1, day=1)
        ival_A_to_W_end = Period(freq="W", year=2007, month=12, day=31)
        ival_A_to_B_start = Period(freq="B", year=2007, month=1, day=1)
        ival_A_to_B_end = Period(freq="B", year=2007, month=12, day=31)
        ival_A_to_D_start = Period(freq="D", year=2007, month=1, day=1)
        ival_A_to_D_end = Period(freq="D", year=2007, month=12, day=31)
        ival_A_to_H_start = Period(freq="H", year=2007, month=1, day=1, hour=0)
        ival_A_to_H_end = Period(freq="H", year=2007, month=12, day=31, hour=23)
        ival_A_to_T_start = Period(
            freq="Min", year=2007, month=1, day=1, hour=0, minute=0
        )
        ival_A_to_T_end = Period(
            freq="Min", year=2007, month=12, day=31, hour=23, minute=59
        )
        ival_A_to_S_start = Period(
            freq="S", year=2007, month=1, day=1, hour=0, minute=0, second=0
        )
        ival_A_to_S_end = Period(
            freq="S", year=2007, month=12, day=31, hour=23, minute=59, second=59
        )

        ival_AJAN_to_D_end = Period(freq="D", year=2007, month=1, day=31)
        ival_AJAN_to_D_start = Period(freq="D", year=2006, month=2, day=1)
        ival_AJUN_to_D_end = Period(freq="D", year=2007, month=6, day=30)
        ival_AJUN_to_D_start = Period(freq="D", year=2006, month=7, day=1)
        ival_ANOV_to_D_end = Period(freq="D", year=2007, month=11, day=30)
        ival_ANOV_to_D_start = Period(freq="D", year=2006, month=12, day=1)

        assert ival_A.asfreq("Q", "S") == ival_A_to_Q_start
        assert ival_A.asfreq("Q", "e") == ival_A_to_Q_end
        assert ival_A.asfreq("M", "s") == ival_A_to_M_start
        assert ival_A.asfreq("M", "E") == ival_A_to_M_end
        assert ival_A.asfreq("W", "S") == ival_A_to_W_start
        assert ival_A.asfreq("W", "E") == ival_A_to_W_end
        assert ival_A.asfreq("B", "S") == ival_A_to_B_start
        assert ival_A.asfreq("B", "E") == ival_A_to_B_end
        assert ival_A.asfreq("D", "S") == ival_A_to_D_start
        assert ival_A.asfreq("D", "E") == ival_A_to_D_end
        assert ival_A.asfreq("H", "S") == ival_A_to_H_start
        assert ival_A.asfreq("H", "E") == ival_A_to_H_end
        assert ival_A.asfreq("min", "S") == ival_A_to_T_start
        assert ival_A.asfreq("min", "E") == ival_A_to_T_end
        assert ival_A.asfreq("T", "S") == ival_A_to_T_start
        assert ival_A.asfreq("T", "E") == ival_A_to_T_end
        assert ival_A.asfreq("S", "S") == ival_A_to_S_start
        assert ival_A.asfreq("S", "E") == ival_A_to_S_end

        assert ival_AJAN.asfreq("D", "S") == ival_AJAN_to_D_start
        assert ival_AJAN.asfreq("D", "E") == ival_AJAN_to_D_end

        assert ival_AJUN.asfreq("D", "S") == ival_AJUN_to_D_start
        assert ival_AJUN.asfreq("D", "E") == ival_AJUN_to_D_end

        assert ival_ANOV.asfreq("D", "S") == ival_ANOV_to_D_start
        assert ival_ANOV.asfreq("D", "E") == ival_ANOV_to_D_end

        assert ival_A.asfreq("A") == ival_A
Example #43
0
    def test_conv_daily(self):
        # frequency conversion tests: from Business Frequency"

        ival_D = Period(freq='D', year=2007, month=1, day=1)
        ival_D_end_of_year = Period(freq='D', year=2007, month=12, day=31)
        ival_D_end_of_quarter = Period(freq='D', year=2007, month=3, day=31)
        ival_D_end_of_month = Period(freq='D', year=2007, month=1, day=31)
        ival_D_end_of_week = Period(freq='D', year=2007, month=1, day=7)

        ival_D_friday = Period(freq='D', year=2007, month=1, day=5)
        ival_D_saturday = Period(freq='D', year=2007, month=1, day=6)
        ival_D_sunday = Period(freq='D', year=2007, month=1, day=7)

        # TODO: unused?
        # ival_D_monday = Period(freq='D', year=2007, month=1, day=8)

        ival_B_friday = Period(freq='B', year=2007, month=1, day=5)
        ival_B_monday = Period(freq='B', year=2007, month=1, day=8)

        ival_D_to_A = Period(freq='A', year=2007)

        ival_Deoq_to_AJAN = Period(freq='A-JAN', year=2008)
        ival_Deoq_to_AJUN = Period(freq='A-JUN', year=2007)
        ival_Deoq_to_ADEC = Period(freq='A-DEC', year=2007)

        ival_D_to_QEJAN = Period(freq="Q-JAN", year=2007, quarter=4)
        ival_D_to_QEJUN = Period(freq="Q-JUN", year=2007, quarter=3)
        ival_D_to_QEDEC = Period(freq="Q-DEC", year=2007, quarter=1)

        ival_D_to_M = Period(freq='M', year=2007, month=1)
        ival_D_to_W = Period(freq='W', year=2007, month=1, day=7)

        ival_D_to_H_start = Period(freq='H', year=2007, month=1, day=1, hour=0)
        ival_D_to_H_end = Period(freq='H', year=2007, month=1, day=1, hour=23)
        ival_D_to_T_start = Period(freq='Min', year=2007, month=1, day=1,
                                   hour=0, minute=0)
        ival_D_to_T_end = Period(freq='Min', year=2007, month=1, day=1,
                                 hour=23, minute=59)
        ival_D_to_S_start = Period(freq='S', year=2007, month=1, day=1, hour=0,
                                   minute=0, second=0)
        ival_D_to_S_end = Period(freq='S', year=2007, month=1, day=1, hour=23,
                                 minute=59, second=59)

        assert ival_D.asfreq('A') == ival_D_to_A

        assert ival_D_end_of_quarter.asfreq('A-JAN') == ival_Deoq_to_AJAN
        assert ival_D_end_of_quarter.asfreq('A-JUN') == ival_Deoq_to_AJUN
        assert ival_D_end_of_quarter.asfreq('A-DEC') == ival_Deoq_to_ADEC

        assert ival_D_end_of_year.asfreq('A') == ival_D_to_A
        assert ival_D_end_of_quarter.asfreq('Q') == ival_D_to_QEDEC
        assert ival_D.asfreq("Q-JAN") == ival_D_to_QEJAN
        assert ival_D.asfreq("Q-JUN") == ival_D_to_QEJUN
        assert ival_D.asfreq("Q-DEC") == ival_D_to_QEDEC
        assert ival_D.asfreq('M') == ival_D_to_M
        assert ival_D_end_of_month.asfreq('M') == ival_D_to_M
        assert ival_D.asfreq('W') == ival_D_to_W
        assert ival_D_end_of_week.asfreq('W') == ival_D_to_W

        assert ival_D_friday.asfreq('B') == ival_B_friday
        assert ival_D_saturday.asfreq('B', 'S') == ival_B_friday
        assert ival_D_saturday.asfreq('B', 'E') == ival_B_monday
        assert ival_D_sunday.asfreq('B', 'S') == ival_B_friday
        assert ival_D_sunday.asfreq('B', 'E') == ival_B_monday

        assert ival_D.asfreq('H', 'S') == ival_D_to_H_start
        assert ival_D.asfreq('H', 'E') == ival_D_to_H_end
        assert ival_D.asfreq('Min', 'S') == ival_D_to_T_start
        assert ival_D.asfreq('Min', 'E') == ival_D_to_T_end
        assert ival_D.asfreq('S', 'S') == ival_D_to_S_start
        assert ival_D.asfreq('S', 'E') == ival_D_to_S_end

        assert ival_D.asfreq('D') == ival_D
Example #44
0
    def test_asfreq_mult(self):
        # normal freq to mult freq
        p = Period(freq="A", year=2007)
        # ordinal will not change
        for freq in ["3A", offsets.YearEnd(3)]:
            result = p.asfreq(freq)
            expected = Period("2007", freq="3A")

            assert result == expected
            assert result.ordinal == expected.ordinal
            assert result.freq == expected.freq
        # ordinal will not change
        for freq in ["3A", offsets.YearEnd(3)]:
            result = p.asfreq(freq, how="S")
            expected = Period("2007", freq="3A")

            assert result == expected
            assert result.ordinal == expected.ordinal
            assert result.freq == expected.freq

        # mult freq to normal freq
        p = Period(freq="3A", year=2007)
        # ordinal will change because how=E is the default
        for freq in ["A", offsets.YearEnd()]:
            result = p.asfreq(freq)
            expected = Period("2009", freq="A")

            assert result == expected
            assert result.ordinal == expected.ordinal
            assert result.freq == expected.freq
        # ordinal will not change
        for freq in ["A", offsets.YearEnd()]:
            result = p.asfreq(freq, how="S")
            expected = Period("2007", freq="A")

            assert result == expected
            assert result.ordinal == expected.ordinal
            assert result.freq == expected.freq

        p = Period(freq="A", year=2007)
        for freq in ["2M", offsets.MonthEnd(2)]:
            result = p.asfreq(freq)
            expected = Period("2007-12", freq="2M")

            assert result == expected
            assert result.ordinal == expected.ordinal
            assert result.freq == expected.freq
        for freq in ["2M", offsets.MonthEnd(2)]:
            result = p.asfreq(freq, how="S")
            expected = Period("2007-01", freq="2M")

            assert result == expected
            assert result.ordinal == expected.ordinal
            assert result.freq == expected.freq

        p = Period(freq="3A", year=2007)
        for freq in ["2M", offsets.MonthEnd(2)]:
            result = p.asfreq(freq)
            expected = Period("2009-12", freq="2M")

            assert result == expected
            assert result.ordinal == expected.ordinal
            assert result.freq == expected.freq
        for freq in ["2M", offsets.MonthEnd(2)]:
            result = p.asfreq(freq, how="S")
            expected = Period("2007-01", freq="2M")

            assert result == expected
            assert result.ordinal == expected.ordinal
            assert result.freq == expected.freq
Example #45
0
 def ordinal(v: pd.Period, freq: str) -> int:
     return v.asfreq(freq).ordinal