|
1 | 1 | from pandas import (DataFrame, Series, Period, PeriodIndex, date_range, |
2 | 2 | period_range) |
| 3 | +from pandas.tseries.frequencies import to_offset |
3 | 4 |
|
4 | 5 |
|
5 | 6 | class PeriodProperties(object): |
@@ -34,24 +35,41 @@ def time_now(self, freq): |
34 | 35 | def time_asfreq(self, freq): |
35 | 36 | self.per.asfreq('A') |
36 | 37 |
|
| 38 | +class PeriodConstructor(object): |
| 39 | + params = [['D'], [True, False]] |
| 40 | + param_names = ['freq', 'is_offset'] |
| 41 | + |
| 42 | + def setup(self, freq, is_offset): |
| 43 | + if is_offset: |
| 44 | + self.freq = to_offset(freq) |
| 45 | + else: |
| 46 | + self.freq = freq |
| 47 | + |
| 48 | + def time_period_constructor(self, freq, is_offset): |
| 49 | + Period('2012-06-01', freq=freq) |
| 50 | + |
37 | 51 |
|
38 | 52 | class PeriodIndexConstructor(object): |
39 | 53 |
|
40 | | - params = ['D'] |
41 | | - param_names = ['freq'] |
| 54 | + params = [['D'], [True, False]] |
| 55 | + param_names = ['freq', 'is_offset'] |
42 | 56 |
|
43 | | - def setup(self, freq): |
| 57 | + def setup(self, freq, is_offset): |
44 | 58 | self.rng = date_range('1985', periods=1000) |
45 | 59 | self.rng2 = date_range('1985', periods=1000).to_pydatetime() |
46 | 60 | self.ints = list(range(2000, 3000)) |
| 61 | + if is_offset: |
| 62 | + self.freq = to_offset(freq) |
| 63 | + else: |
| 64 | + self.freq = freq |
47 | 65 |
|
48 | | - def time_from_date_range(self, freq): |
| 66 | + def time_from_date_range(self, freq, is_offset): |
49 | 67 | PeriodIndex(self.rng, freq=freq) |
50 | 68 |
|
51 | | - def time_from_pydatetime(self, freq): |
| 69 | + def time_from_pydatetime(self, freq, is_offset): |
52 | 70 | PeriodIndex(self.rng2, freq=freq) |
53 | 71 |
|
54 | | - def time_from_ints(self, freq): |
| 72 | + def time_from_ints(self, freq, is_offset): |
55 | 73 | PeriodIndex(self.ints, freq=freq) |
56 | 74 |
|
57 | 75 |
|
|
0 commit comments