def _range_from_fields(year=None, month=None, quarter=None, day=None, hour=None, minute=None, second=None, freq=None): if hour is None: hour = 0 if minute is None: minute = 0 if second is None: second = 0 if day is None: day = 1 ordinals = [] if quarter is not None: if freq is None: freq = 'Q' base = frequencies.FreqGroup.FR_QTR else: base, mult = _gfc(freq) if base != frequencies.FreqGroup.FR_QTR: raise AssertionError("base must equal FR_QTR") year, quarter = _make_field_arrays(year, quarter) for y, q in zip(year, quarter): y, m = _quarter_to_myear(y, q, freq) val = period.period_ordinal(y, m, 1, 1, 1, 1, 0, 0, base) ordinals.append(val) else: base, mult = _gfc(freq) arrays = _make_field_arrays(year, month, day, hour, minute, second) for y, mth, d, h, mn, s in zip(*arrays): ordinals.append(period.period_ordinal( y, mth, d, h, mn, s, 0, 0, base)) return np.array(ordinals, dtype=np.int64), freq
def test_period_ordinal_start_values(self): # information for 1.1.1970 assert period_ordinal(1970, 1, 1, 0, 0, 0, 0, 0, get_freq('A')) == 0 assert period_ordinal(1970, 1, 1, 0, 0, 0, 0, 0, get_freq('M')) == 0 assert period_ordinal(1970, 1, 1, 0, 0, 0, 0, 0, get_freq('W')) == 1 assert period_ordinal(1970, 1, 1, 0, 0, 0, 0, 0, get_freq('D')) == 0 assert period_ordinal(1970, 1, 1, 0, 0, 0, 0, 0, get_freq('B')) == 0
def test_period_ordinal_week(self): assert period_ordinal(1970, 1, 4, 0, 0, 0, 0, 0, get_freq('W')) == 1 assert period_ordinal(1970, 1, 5, 0, 0, 0, 0, 0, get_freq('W')) == 2 assert period_ordinal(2013, 10, 6, 0, 0, 0, 0, 0, get_freq('W')) == 2284 assert period_ordinal(2013, 10, 7, 0, 0, 0, 0, 0, get_freq('W')) == 2285
def test_period_ordinal_week(self): self.assertEqual( 1, period_ordinal(1970, 1, 4, 0, 0, 0, 0, 0, get_freq('W'))) self.assertEqual( 2, period_ordinal(1970, 1, 5, 0, 0, 0, 0, 0, get_freq('W'))) self.assertEqual( 2284, period_ordinal(2013, 10, 6, 0, 0, 0, 0, 0, get_freq('W'))) self.assertEqual( 2285, period_ordinal(2013, 10, 7, 0, 0, 0, 0, 0, get_freq('W')))
def test_period_ordinal_week(self): self.assertEqual(1, period_ordinal(1970, 1, 4, 0, 0, 0, 0, 0, get_freq('W'))) self.assertEqual(2, period_ordinal(1970, 1, 5, 0, 0, 0, 0, 0, get_freq('W'))) self.assertEqual(2284, period_ordinal(2013, 10, 6, 0, 0, 0, 0, 0, get_freq('W'))) self.assertEqual(2285, period_ordinal(2013, 10, 7, 0, 0, 0, 0, 0, get_freq('W')))
def test_period_ordinal_start_values(self): # information for 1.1.1970 self.assertEqual( 0, period_ordinal(1970, 1, 1, 0, 0, 0, 0, 0, get_freq('A'))) self.assertEqual( 0, period_ordinal(1970, 1, 1, 0, 0, 0, 0, 0, get_freq('M'))) self.assertEqual( 1, period_ordinal(1970, 1, 1, 0, 0, 0, 0, 0, get_freq('W'))) self.assertEqual( 0, period_ordinal(1970, 1, 1, 0, 0, 0, 0, 0, get_freq('D'))) self.assertEqual( 0, period_ordinal(1970, 1, 1, 0, 0, 0, 0, 0, get_freq('B')))
def test_period_ordinal_start_values(self): # information for 1.1.1970 self.assertEqual(0, period_ordinal(1970, 1, 1, 0, 0, 0, 0, 0, get_freq('A'))) self.assertEqual(0, period_ordinal(1970, 1, 1, 0, 0, 0, 0, 0, get_freq('M'))) self.assertEqual(1, period_ordinal(1970, 1, 1, 0, 0, 0, 0, 0, get_freq('W'))) self.assertEqual(0, period_ordinal(1970, 1, 1, 0, 0, 0, 0, 0, get_freq('D'))) self.assertEqual(0, period_ordinal(1970, 1, 1, 0, 0, 0, 0, 0, get_freq('B')))
def test_period_ordinal_business_day(self): # Thursday self.assertEqual( 11415, period_ordinal(2013, 10, 3, 0, 0, 0, 0, 0, get_freq('B'))) # Friday self.assertEqual( 11416, period_ordinal(2013, 10, 4, 0, 0, 0, 0, 0, get_freq('B'))) # Saturday self.assertEqual( 11417, period_ordinal(2013, 10, 5, 0, 0, 0, 0, 0, get_freq('B'))) # Sunday self.assertEqual( 11417, period_ordinal(2013, 10, 6, 0, 0, 0, 0, 0, get_freq('B'))) # Monday self.assertEqual( 11417, period_ordinal(2013, 10, 7, 0, 0, 0, 0, 0, get_freq('B'))) # Tuesday self.assertEqual( 11418, period_ordinal(2013, 10, 8, 0, 0, 0, 0, 0, get_freq('B')))
def test_period_ordinal_business_day(self): # Thursday assert period_ordinal(2013, 10, 3, 0, 0, 0, 0, 0, get_freq('B')) == 11415 # Friday assert period_ordinal(2013, 10, 4, 0, 0, 0, 0, 0, get_freq('B')) == 11416 # Saturday assert period_ordinal(2013, 10, 5, 0, 0, 0, 0, 0, get_freq('B')) == 11417 # Sunday assert period_ordinal(2013, 10, 6, 0, 0, 0, 0, 0, get_freq('B')) == 11417 # Monday assert period_ordinal(2013, 10, 7, 0, 0, 0, 0, 0, get_freq('B')) == 11417 # Tuesday assert period_ordinal(2013, 10, 8, 0, 0, 0, 0, 0, get_freq('B')) == 11418
def test_period_ordinal_business_day(self): # Thursday self.assertEqual(11415, period_ordinal(2013, 10, 3, 0, 0, 0, 0, 0, get_freq('B'))) # Friday self.assertEqual(11416, period_ordinal(2013, 10, 4, 0, 0, 0, 0, 0, get_freq('B'))) # Saturday self.assertEqual(11417, period_ordinal(2013, 10, 5, 0, 0, 0, 0, 0, get_freq('B'))) # Sunday self.assertEqual(11417, period_ordinal(2013, 10, 6, 0, 0, 0, 0, 0, get_freq('B'))) # Monday self.assertEqual(11417, period_ordinal(2013, 10, 7, 0, 0, 0, 0, 0, get_freq('B'))) # Tuesday self.assertEqual(11418, period_ordinal(2013, 10, 8, 0, 0, 0, 0, 0, get_freq('B')))