Example #1
0
    def test_resample_basic_from_daily(self):
        # from daily
        dti = DatetimeIndex(start=datetime(2005, 1, 1),
                            end=datetime(2005, 1, 10),
                            freq='D',
                            name='index')

        s = Series(np.random.rand(len(dti)), dti)

        # to weekly
        result = s.resample('w-sun', how='last')

        self.assertEqual(len(result), 3)
        self.assertTrue((result.index.dayofweek == [6, 6, 6]).all())
        self.assertEqual(result.irow(0), s['1/2/2005'])
        self.assertEqual(result.irow(1), s['1/9/2005'])
        self.assertEqual(result.irow(2), s.irow(-1))

        result = s.resample('W-MON', how='last')
        self.assertEqual(len(result), 2)
        self.assertTrue((result.index.dayofweek == [0, 0]).all())
        self.assertEqual(result.irow(0), s['1/3/2005'])
        self.assertEqual(result.irow(1), s['1/10/2005'])

        result = s.resample('W-TUE', how='last')
        self.assertEqual(len(result), 2)
        self.assertTrue((result.index.dayofweek == [1, 1]).all())
        self.assertEqual(result.irow(0), s['1/4/2005'])
        self.assertEqual(result.irow(1), s['1/10/2005'])

        result = s.resample('W-WED', how='last')
        self.assertEqual(len(result), 2)
        self.assertTrue((result.index.dayofweek == [2, 2]).all())
        self.assertEqual(result.irow(0), s['1/5/2005'])
        self.assertEqual(result.irow(1), s['1/10/2005'])

        result = s.resample('W-THU', how='last')
        self.assertEqual(len(result), 2)
        self.assertTrue((result.index.dayofweek == [3, 3]).all())
        self.assertEqual(result.irow(0), s['1/6/2005'])
        self.assertEqual(result.irow(1), s['1/10/2005'])

        result = s.resample('W-FRI', how='last')
        self.assertEqual(len(result), 2)
        self.assertTrue((result.index.dayofweek == [4, 4]).all())
        self.assertEqual(result.irow(0), s['1/7/2005'])
        self.assertEqual(result.irow(1), s['1/10/2005'])

        # to biz day
        result = s.resample('B', how='last')
        self.assertEqual(len(result), 7)
        self.assertTrue((result.index.dayofweek == [4, 0, 1, 2, 3, 4,
                                                    0]).all())
        self.assertEqual(result.irow(0), s['1/2/2005'])
        self.assertEqual(result.irow(1), s['1/3/2005'])
        self.assertEqual(result.irow(5), s['1/9/2005'])
        self.assertEqual(result.index.name, 'index')
    def test_resample_basic_from_daily(self):
        # from daily
        dti = DatetimeIndex(
            start=datetime(2005, 1, 1), end=datetime(2005, 1, 10),
            freq='D', name='index')

        s = Series(np.random.rand(len(dti)), dti)

        # to weekly
        result = s.resample('w-sun', how='last')

        self.assertEquals(len(result), 3)
        self.assert_((result.index.dayofweek == [6, 6, 6]).all())
        self.assertEquals(result.irow(0), s['1/2/2005'])
        self.assertEquals(result.irow(1), s['1/9/2005'])
        self.assertEquals(result.irow(2), s.irow(-1))

        result = s.resample('W-MON', how='last')
        self.assertEquals(len(result), 2)
        self.assert_((result.index.dayofweek == [0, 0]).all())
        self.assertEquals(result.irow(0), s['1/3/2005'])
        self.assertEquals(result.irow(1), s['1/10/2005'])

        result = s.resample('W-TUE', how='last')
        self.assertEquals(len(result), 2)
        self.assert_((result.index.dayofweek == [1, 1]).all())
        self.assertEquals(result.irow(0), s['1/4/2005'])
        self.assertEquals(result.irow(1), s['1/10/2005'])

        result = s.resample('W-WED', how='last')
        self.assertEquals(len(result), 2)
        self.assert_((result.index.dayofweek == [2, 2]).all())
        self.assertEquals(result.irow(0), s['1/5/2005'])
        self.assertEquals(result.irow(1), s['1/10/2005'])

        result = s.resample('W-THU', how='last')
        self.assertEquals(len(result), 2)
        self.assert_((result.index.dayofweek == [3, 3]).all())
        self.assertEquals(result.irow(0), s['1/6/2005'])
        self.assertEquals(result.irow(1), s['1/10/2005'])

        result = s.resample('W-FRI', how='last')
        self.assertEquals(len(result), 2)
        self.assert_((result.index.dayofweek == [4, 4]).all())
        self.assertEquals(result.irow(0), s['1/7/2005'])
        self.assertEquals(result.irow(1), s['1/10/2005'])

        # to biz day
        result = s.resample('B', how='last')
        self.assertEquals(len(result), 7)
        self.assert_((result.index.dayofweek == [4, 0, 1, 2, 3, 4, 0]).all())
        self.assertEquals(result.irow(0), s['1/2/2005'])
        self.assertEquals(result.irow(1), s['1/3/2005'])
        self.assertEquals(result.irow(5), s['1/9/2005'])
        self.assert_(result.index.name == 'index')
Example #3
0
    def test_resample_basic_from_daily(self):
        # from daily
        dti = DatetimeIndex(start=datetime(2005, 1, 1), end=datetime(2005, 1, 10), freq="D", name="index")

        s = Series(np.random.rand(len(dti)), dti)

        # to weekly
        result = s.resample("w-sun", how="last")

        self.assertEquals(len(result), 3)
        self.assert_((result.index.dayofweek == [6, 6, 6]).all())
        self.assertEquals(result.irow(0), s["1/2/2005"])
        self.assertEquals(result.irow(1), s["1/9/2005"])
        self.assertEquals(result.irow(2), s.irow(-1))

        result = s.resample("W-MON", how="last")
        self.assertEquals(len(result), 2)
        self.assert_((result.index.dayofweek == [0, 0]).all())
        self.assertEquals(result.irow(0), s["1/3/2005"])
        self.assertEquals(result.irow(1), s["1/10/2005"])

        result = s.resample("W-TUE", how="last")
        self.assertEquals(len(result), 2)
        self.assert_((result.index.dayofweek == [1, 1]).all())
        self.assertEquals(result.irow(0), s["1/4/2005"])
        self.assertEquals(result.irow(1), s["1/10/2005"])

        result = s.resample("W-WED", how="last")
        self.assertEquals(len(result), 2)
        self.assert_((result.index.dayofweek == [2, 2]).all())
        self.assertEquals(result.irow(0), s["1/5/2005"])
        self.assertEquals(result.irow(1), s["1/10/2005"])

        result = s.resample("W-THU", how="last")
        self.assertEquals(len(result), 2)
        self.assert_((result.index.dayofweek == [3, 3]).all())
        self.assertEquals(result.irow(0), s["1/6/2005"])
        self.assertEquals(result.irow(1), s["1/10/2005"])

        result = s.resample("W-FRI", how="last")
        self.assertEquals(len(result), 2)
        self.assert_((result.index.dayofweek == [4, 4]).all())
        self.assertEquals(result.irow(0), s["1/7/2005"])
        self.assertEquals(result.irow(1), s["1/10/2005"])

        # to biz day
        result = s.resample("B", how="last")
        self.assertEquals(len(result), 7)
        self.assert_((result.index.dayofweek == [4, 0, 1, 2, 3, 4, 0]).all())
        self.assertEquals(result.irow(0), s["1/2/2005"])
        self.assertEquals(result.irow(1), s["1/3/2005"])
        self.assertEquals(result.irow(5), s["1/9/2005"])
        self.assertEqual(result.index.name, "index")
Example #4
0
    def test_partial_slice_high_reso(self):

        # higher reso
        rng = timedelta_range('1 day 10:11:12', freq='us', periods=2000)
        s = Series(np.arange(len(rng)), index=rng)

        result = s['1 day 10:11:12':]
        expected = s.iloc[0:]
        assert_series_equal(result, expected)

        result = s['1 day 10:11:12.001':]
        expected = s.iloc[1000:]
        assert_series_equal(result, expected)

        result = s['1 days, 10:11:12.001001']
        self.assertEqual(result, s.irow(1001))
Example #5
0
    def test_partial_slice_high_reso(self):

        # higher reso
        rng = timedelta_range('1 day 10:11:12', freq='us',periods=2000)
        s = Series(np.arange(len(rng)), index=rng)

        result = s['1 day 10:11:12':]
        expected = s.iloc[0:]
        assert_series_equal(result, expected)

        result = s['1 day 10:11:12.001':]
        expected = s.iloc[1000:]
        assert_series_equal(result, expected)

        result = s['1 days, 10:11:12.001001']
        self.assertEqual(result, s.irow(1001))
Example #6
0
    def test_partial_slice(self):
        rng = timedelta_range('1 day 10:11:12', freq='h', periods=500)
        s = Series(np.arange(len(rng)), index=rng)

        result = s['5 day':'6 day']
        expected = s.iloc[86:134]
        assert_series_equal(result, expected)

        result = s['5 day':]
        expected = s.iloc[86:]
        assert_series_equal(result, expected)

        result = s[:'6 day']
        expected = s.iloc[:134]
        assert_series_equal(result, expected)

        result = s['6 days, 23:11:12']
        self.assertEqual(result, s.irow(133))

        self.assertRaises(KeyError, s.__getitem__, '50 days')
Example #7
0
    def test_partial_slice(self):
        rng = timedelta_range('1 day 10:11:12', freq='h',periods=500)
        s = Series(np.arange(len(rng)), index=rng)

        result = s['5 day':'6 day']
        expected = s.iloc[86:134]
        assert_series_equal(result, expected)

        result = s['5 day':]
        expected = s.iloc[86:]
        assert_series_equal(result, expected)

        result = s[:'6 day']
        expected = s.iloc[:134]
        assert_series_equal(result, expected)

        result = s['6 days, 23:11:12']
        self.assertEqual(result, s.irow(133))

        self.assertRaises(KeyError, s.__getitem__, '50 days')
Example #8
0
    def test_partial_slice(self):
        rng = timedelta_range("1 day 10:11:12", freq="h", periods=500)
        s = Series(np.arange(len(rng)), index=rng)

        result = s["5 day":"6 day"]
        expected = s.iloc[86:134]
        assert_series_equal(result, expected)

        result = s["5 day":]
        expected = s.iloc[86:]
        assert_series_equal(result, expected)

        result = s[:"6 day"]
        expected = s.iloc[:134]
        assert_series_equal(result, expected)

        result = s["6 days, 23:11:12"]
        self.assertEqual(result, s.irow(133))

        self.assertRaises(KeyError, s.__getitem__, "50 days")
Example #9
0
    def test_resample_basic(self):
        rng = date_range('1/1/2000 00:00:00', '1/1/2000 00:13:00', freq='min',
                         name='index')
        s = Series(np.random.randn(14), index=rng)
        result = s.resample('5min', how='mean', closed='right', label='right')
        expected = Series([s[0], s[1:6].mean(), s[6:11].mean(), s[11:].mean()],
                          index=date_range('1/1/2000', periods=4, freq='5min'))
        assert_series_equal(result, expected)
        self.assert_(result.index.name == 'index')

        result = s.resample('5min', how='mean', closed='left', label='right')
        expected = Series([s[:5].mean(), s[5:10].mean(), s[10:].mean()],
                          index=date_range('1/1/2000 00:05', periods=3,
                                           freq='5min'))
        assert_series_equal(result, expected)

        s = self.series
        result = s.resample('5Min', how='last')
        grouper = TimeGrouper(Minute(5), closed='right', label='right')
        expect = s.groupby(grouper).agg(lambda x: x[-1])
        assert_series_equal(result, expect)

        # from daily
        dti = DatetimeIndex(start=datetime(2005,1,1), end=datetime(2005,1,10),
                            freq='D', name='index')

        s = Series(np.random.rand(len(dti)), dti)

        # to weekly
        result = s.resample('w-sun', how='last')

        self.assertEquals(len(result), 3)
        self.assert_((result.index.dayofweek == [6,6,6]).all())
        self.assertEquals(result.irow(0), s['1/2/2005'])
        self.assertEquals(result.irow(1), s['1/9/2005'])
        self.assertEquals(result.irow(2), s.irow(-1))

        result = s.resample('W-MON', how='last')
        self.assertEquals(len(result), 2)
        self.assert_((result.index.dayofweek == [0,0]).all())
        self.assertEquals(result.irow(0), s['1/3/2005'])
        self.assertEquals(result.irow(1), s['1/10/2005'])

        result = s.resample('W-TUE', how='last')
        self.assertEquals(len(result), 2)
        self.assert_((result.index.dayofweek == [1,1]).all())
        self.assertEquals(result.irow(0), s['1/4/2005'])
        self.assertEquals(result.irow(1), s['1/10/2005'])

        result = s.resample('W-WED', how='last')
        self.assertEquals(len(result), 2)
        self.assert_((result.index.dayofweek == [2,2]).all())
        self.assertEquals(result.irow(0), s['1/5/2005'])
        self.assertEquals(result.irow(1), s['1/10/2005'])

        result = s.resample('W-THU', how='last')
        self.assertEquals(len(result), 2)
        self.assert_((result.index.dayofweek == [3,3]).all())
        self.assertEquals(result.irow(0), s['1/6/2005'])
        self.assertEquals(result.irow(1), s['1/10/2005'])

        result = s.resample('W-FRI', how='last')
        self.assertEquals(len(result), 2)
        self.assert_((result.index.dayofweek == [4,4]).all())
        self.assertEquals(result.irow(0), s['1/7/2005'])
        self.assertEquals(result.irow(1), s['1/10/2005'])

        # to biz day
        result = s.resample('B', how='last')
        self.assertEquals(len(result), 6)
        self.assert_((result.index.dayofweek == [0,1,2,3,4,0]).all())
        self.assertEquals(result.irow(0), s['1/3/2005'])
        self.assertEquals(result.irow(1), s['1/4/2005'])
        self.assertEquals(result.irow(5), s['1/10/2005'])
        self.assert_(result.index.name == 'index')
Example #10
0
    def test_resample_basic(self):
        rng = date_range("1/1/2000 00:00:00", "1/1/2000 00:13:00", freq="min", name="index")
        s = Series(np.random.randn(14), index=rng)
        result = s.resample("5min", how="mean", closed="right", label="right")
        expected = Series(
            [s[0], s[1:6].mean(), s[6:11].mean(), s[11:].mean()], index=date_range("1/1/2000", periods=4, freq="5min")
        )
        assert_series_equal(result, expected)
        self.assert_(result.index.name == "index")

        result = s.resample("5min", how="mean", closed="left", label="right")
        expected = Series(
            [s[:5].mean(), s[5:10].mean(), s[10:].mean()], index=date_range("1/1/2000 00:05", periods=3, freq="5min")
        )
        assert_series_equal(result, expected)

        s = self.series
        result = s.resample("5Min", how="last")
        grouper = TimeGrouper(Minute(5), closed="right", label="right")
        expect = s.groupby(grouper).agg(lambda x: x[-1])
        assert_series_equal(result, expect)

        # from daily
        dti = DatetimeIndex(start=datetime(2005, 1, 1), end=datetime(2005, 1, 10), freq="D", name="index")

        s = Series(np.random.rand(len(dti)), dti)

        # to weekly
        result = s.resample("w-sun", how="last")

        self.assertEquals(len(result), 3)
        self.assert_((result.index.dayofweek == [6, 6, 6]).all())
        self.assertEquals(result.irow(0), s["1/2/2005"])
        self.assertEquals(result.irow(1), s["1/9/2005"])
        self.assertEquals(result.irow(2), s.irow(-1))

        result = s.resample("W-MON", how="last")
        self.assertEquals(len(result), 2)
        self.assert_((result.index.dayofweek == [0, 0]).all())
        self.assertEquals(result.irow(0), s["1/3/2005"])
        self.assertEquals(result.irow(1), s["1/10/2005"])

        result = s.resample("W-TUE", how="last")
        self.assertEquals(len(result), 2)
        self.assert_((result.index.dayofweek == [1, 1]).all())
        self.assertEquals(result.irow(0), s["1/4/2005"])
        self.assertEquals(result.irow(1), s["1/10/2005"])

        result = s.resample("W-WED", how="last")
        self.assertEquals(len(result), 2)
        self.assert_((result.index.dayofweek == [2, 2]).all())
        self.assertEquals(result.irow(0), s["1/5/2005"])
        self.assertEquals(result.irow(1), s["1/10/2005"])

        result = s.resample("W-THU", how="last")
        self.assertEquals(len(result), 2)
        self.assert_((result.index.dayofweek == [3, 3]).all())
        self.assertEquals(result.irow(0), s["1/6/2005"])
        self.assertEquals(result.irow(1), s["1/10/2005"])

        result = s.resample("W-FRI", how="last")
        self.assertEquals(len(result), 2)
        self.assert_((result.index.dayofweek == [4, 4]).all())
        self.assertEquals(result.irow(0), s["1/7/2005"])
        self.assertEquals(result.irow(1), s["1/10/2005"])

        # to biz day
        result = s.resample("B", how="last")
        self.assertEquals(len(result), 6)
        self.assert_((result.index.dayofweek == [0, 1, 2, 3, 4, 0]).all())
        self.assertEquals(result.irow(0), s["1/3/2005"])
        self.assertEquals(result.irow(1), s["1/4/2005"])
        self.assertEquals(result.irow(5), s["1/10/2005"])
        self.assert_(result.index.name == "index")
Example #11
0
    def test_convert_basic(self):
        s = self.series

        result = s.convert('5Min')

        grouper = TimeGrouper(Minute(5), closed='right', label='right')
        expect = s.groupby(grouper).agg(lambda x: x[-1])

        assert_series_equal(result, expect)

        # from daily
        dti = DatetimeIndex(start=datetime(2005,1,1), end=datetime(2005,1,10),
                            freq='D')

        s = Series(rand(len(dti)), dti)

        # to weekly
        result = s.convert('w-sun')

        self.assertEquals(len(result), 3)
        self.assert_((result.index.dayofweek == [6,6,6]).all())
        self.assertEquals(result.irow(0), s['1/2/2005'])
        self.assertEquals(result.irow(1), s['1/9/2005'])
        self.assertEquals(result.irow(2), s.irow(-1))

        result = s.convert('W-MON')
        self.assertEquals(len(result), 2)
        self.assert_((result.index.dayofweek == [0,0]).all())
        self.assertEquals(result.irow(0), s['1/3/2005'])
        self.assertEquals(result.irow(1), s['1/10/2005'])

        result = s.convert('W-TUE')
        self.assertEquals(len(result), 2)
        self.assert_((result.index.dayofweek == [1,1]).all())
        self.assertEquals(result.irow(0), s['1/4/2005'])
        self.assertEquals(result.irow(1), s['1/10/2005'])

        result = s.convert('W-WED')
        self.assertEquals(len(result), 2)
        self.assert_((result.index.dayofweek == [2,2]).all())
        self.assertEquals(result.irow(0), s['1/5/2005'])
        self.assertEquals(result.irow(1), s['1/10/2005'])

        result = s.convert('W-THU')
        self.assertEquals(len(result), 2)
        self.assert_((result.index.dayofweek == [3,3]).all())
        self.assertEquals(result.irow(0), s['1/6/2005'])
        self.assertEquals(result.irow(1), s['1/10/2005'])

        result = s.convert('W-FRI')
        self.assertEquals(len(result), 2)
        self.assert_((result.index.dayofweek == [4,4]).all())
        self.assertEquals(result.irow(0), s['1/7/2005'])
        self.assertEquals(result.irow(1), s['1/10/2005'])

        # to biz day
        result = s.convert('B')
        self.assertEquals(len(result), 6)
        self.assert_((result.index.dayofweek == [0,1,2,3,4,0]).all())
        self.assertEquals(result.irow(0), s['1/3/2005'])
        self.assertEquals(result.irow(1), s['1/4/2005'])
        self.assertEquals(result.irow(5), s['1/10/2005'])