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 )
3
3
4
4
5
5
class 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
32
6
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' ]
35
12
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 )
53
15
54
- def time_end_time (self , freq ):
55
- self .per . end_time
16
+ def time_property (self , freq , attr ):
17
+ getattr ( self .per , attr )
56
18
57
19
58
20
class PeriodUnaryMethods (object ):
21
+
59
22
params = ['M' , 'min' ]
60
23
param_names = ['freq' ]
61
24
@@ -73,6 +36,7 @@ def time_asfreq(self, freq):
73
36
74
37
75
38
class PeriodIndexConstructor (object ):
39
+
76
40
goal_time = 0.2
77
41
78
42
params = ['D' ]
@@ -90,19 +54,19 @@ def time_from_pydatetime(self, freq):
90
54
91
55
92
56
class DataFramePeriodColumn (object ):
57
+
93
58
goal_time = 0.2
94
59
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 )))
99
63
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
103
66
104
67
105
68
class Algorithms (object ):
69
+
106
70
goal_time = 0.2
107
71
108
72
params = ['index' , 'series' ]
@@ -125,6 +89,7 @@ def time_value_counts(self, typ):
125
89
126
90
127
91
class Indexing (object ):
92
+
128
93
goal_time = 0.2
129
94
130
95
def setup (self ):
@@ -145,7 +110,7 @@ def time_series_loc(self):
145
110
self .series .loc [self .period ]
146
111
147
112
def time_align (self ):
148
- pd . DataFrame ({'a' : self .series , 'b' : self .series [:500 ]})
113
+ DataFrame ({'a' : self .series , 'b' : self .series [:500 ]})
149
114
150
115
def time_intersection (self ):
151
116
self .index [:750 ].intersection (self .index [250 :])
0 commit comments