1- import pandas as pd
2- from pandas import Series , Period , PeriodIndex , date_range
1+ from pandas import ( DataFrame , Series , Period , PeriodIndex , date_range ,
2+ period_range )
33
44
55class PeriodProperties (object ):
6- params = ['M' , 'min' ]
7- param_names = ['freq' ]
8-
9- def setup (self , freq ):
10- self .per = Period ('2012-06-01' , freq = freq )
11-
12- def time_year (self , freq ):
13- self .per .year
14-
15- def time_month (self , freq ):
16- self .per .month
17-
18- def time_day (self , freq ):
19- self .per .day
20-
21- def time_hour (self , freq ):
22- self .per .hour
23-
24- def time_minute (self , freq ):
25- self .per .minute
26-
27- def time_second (self , freq ):
28- self .per .second
29-
30- def time_is_leap_year (self , freq ):
31- self .per .is_leap_year
326
33- def time_quarter (self , freq ):
34- self .per .quarter
7+ params = (['M' , 'min' ],
8+ ['year' , 'month' , 'day' , 'hour' , 'minute' , 'second' ,
9+ 'is_leap_year' , 'quarter' , 'qyear' , 'week' , 'daysinmonth' ,
10+ 'dayofweek' , 'dayofyear' , 'start_time' , 'end_time' ])
11+ param_names = ['freq' , 'attr' ]
3512
36- def time_qyear (self , freq ):
37- self .per .qyear
38-
39- def time_week (self , freq ):
40- self .per .week
41-
42- def time_daysinmonth (self , freq ):
43- self .per .daysinmonth
44-
45- def time_dayofweek (self , freq ):
46- self .per .dayofweek
47-
48- def time_dayofyear (self , freq ):
49- self .per .dayofyear
50-
51- def time_start_time (self , freq ):
52- self .per .start_time
13+ def setup (self , freq , attr ):
14+ self .per = Period ('2012-06-01' , freq = freq )
5315
54- def time_end_time (self , freq ):
55- self .per . end_time
16+ def time_property (self , freq , attr ):
17+ getattr ( self .per , attr )
5618
5719
5820class PeriodUnaryMethods (object ):
21+
5922 params = ['M' , 'min' ]
6023 param_names = ['freq' ]
6124
@@ -73,6 +36,7 @@ def time_asfreq(self, freq):
7336
7437
7538class PeriodIndexConstructor (object ):
39+
7640 goal_time = 0.2
7741
7842 params = ['D' ]
@@ -90,19 +54,19 @@ def time_from_pydatetime(self, freq):
9054
9155
9256class DataFramePeriodColumn (object ):
57+
9358 goal_time = 0.2
9459
95- def setup_cache (self ):
96- rng = pd .period_range (start = '1/1/1990' , freq = 'S' , periods = 20000 )
97- df = pd .DataFrame (index = range (len (rng )))
98- return rng , df
60+ def setup (self ):
61+ self .rng = period_range (start = '1/1/1990' , freq = 'S' , periods = 20000 )
62+ self .df = DataFrame (index = range (len (self .rng )))
9963
100- def time_setitem_period_column (self , tup ):
101- rng , df = tup
102- df ['col' ] = rng
64+ def time_setitem_period_column (self ):
65+ self .df ['col' ] = self .rng
10366
10467
10568class Algorithms (object ):
69+
10670 goal_time = 0.2
10771
10872 params = ['index' , 'series' ]
@@ -125,6 +89,7 @@ def time_value_counts(self, typ):
12589
12690
12791class Indexing (object ):
92+
12893 goal_time = 0.2
12994
13095 def setup (self ):
@@ -145,7 +110,7 @@ def time_series_loc(self):
145110 self .series .loc [self .period ]
146111
147112 def time_align (self ):
148- pd . DataFrame ({'a' : self .series , 'b' : self .series [:500 ]})
113+ DataFrame ({'a' : self .series , 'b' : self .series [:500 ]})
149114
150115 def time_intersection (self ):
151116 self .index [:750 ].intersection (self .index [250 :])
0 commit comments