def test_map(self): fn = np.sin # noqa: E731 series = TimeSeries.from_times_and_values( pd.date_range('20000101', '20000110'), np.random.randn(10, 3)) df_0 = series.pd_dataframe() df_2 = series.pd_dataframe() df_01 = series.pd_dataframe() df_012 = series.pd_dataframe() df_0[["0"]] = df_0[["0"]].applymap(fn) df_2[["2"]] = df_2[["2"]].applymap(fn) df_01[["0", "1"]] = df_01[["0", "1"]].applymap(fn) df_012 = df_012.applymap(fn) series_0 = TimeSeries(df_0, 'D') series_2 = TimeSeries(df_2, 'D') series_01 = TimeSeries(df_01, 'D') series_012 = TimeSeries(df_012, 'D') self.assertEqual(series_0['0'], series['0'].map(fn)) self.assertEqual(series_2['2'], series['2'].map(fn)) self.assertEqual(series_01[['0', '1']], series[['0', '1']].map(fn)) self.assertEqual(series_012, series[['0', '1', '2']].map(fn)) self.assertEqual(series_012, series.map(fn)) self.assertNotEqual(series_01, series[['0', '1']].map(fn))
def helper_test_intersect(test_case, test_series: TimeSeries): seriesA = TimeSeries.from_series( pd.Series(range(2, 8), index=pd.date_range('20130102', '20130107'))) seriesB = test_series.slice_intersect(seriesA) test_case.assertEqual(seriesB.start_time(), pd.Timestamp('20130102')) test_case.assertEqual(seriesB.end_time(), pd.Timestamp('20130107')) # Outside of range seriesD = test_series.slice_intersect( TimeSeries.from_series( pd.Series(range(6, 13), index=pd.date_range('20130106', '20130112')))) test_case.assertEqual(seriesD.start_time(), pd.Timestamp('20130106')) test_case.assertEqual(seriesD.end_time(), pd.Timestamp('20130110')) # Small intersect seriesE = test_series.slice_intersect( TimeSeries.from_series( pd.Series(range(9, 13), index=pd.date_range('20130109', '20130112')))) test_case.assertEqual(len(seriesE), 2) # No intersect with test_case.assertRaises(ValueError): test_series.slice_intersect( TimeSeries( pd.Series(range(6, 13), index=pd.date_range('20130116', '20130122'))))
def test_getitem(self): seriesA: TimeSeries = self.series1.drop_after(pd.Timestamp("20130105")) self.assertEqual(self.series1[pd.date_range('20130101', ' 20130104')], seriesA) self.assertEqual(self.series1[:4], seriesA) self.assertTrue(self.series1[pd.Timestamp('20130101')] == TimeSeries( self.series1.pd_dataframe()[:1], freq=self.series1.freq())) self.assertEqual( self.series1[pd.Timestamp('20130101'):pd.Timestamp('20130104')], seriesA) with self.assertRaises(IndexError): self.series1[pd.date_range('19990101', '19990201')] with self.assertRaises(KeyError): self.series1['19990101'] with self.assertRaises(IndexError): self.series1[::-1]