2
2
import pandas .computation .expressions as expr
3
3
4
4
5
- class frame_add (object ):
5
+ class Ops (object ):
6
6
goal_time = 0.2
7
7
8
- def setup (self ):
8
+ params = [[True , False ], ['default' , 1 ]]
9
+ param_names = ['use_numexpr' , 'threads' ]
10
+
11
+ def setup (self , use_numexpr , threads ):
9
12
self .df = DataFrame (np .random .randn (20000 , 100 ))
10
13
self .df2 = DataFrame (np .random .randn (20000 , 100 ))
11
14
12
- def time_frame_add (self ):
13
- (self .df + self .df2 )
15
+ if threads != 'default' :
16
+ expr .set_numexpr_threads (threads )
17
+ if not use_numexpr :
18
+ expr .set_use_numexpr (False )
14
19
15
20
16
- class frame_add_no_ne (object ):
17
- goal_time = 0.2
18
-
19
- def setup (self ):
20
- self .df = DataFrame (np .random .randn (20000 , 100 ))
21
- self .df2 = DataFrame (np .random .randn (20000 , 100 ))
22
- expr .set_use_numexpr (False )
23
-
24
- def time_frame_add_no_ne (self ):
21
+ def time_frame_add (self , use_numexpr , threads ):
25
22
(self .df + self .df2 )
26
23
27
- def teardown (self ):
28
- expr . set_use_numexpr ( True )
24
+ def time_frame_mult (self , use_numexpr , threads ):
25
+ ( self . df * self . df2 )
29
26
27
+ def time_frame_multi_and (self , use_numexpr , threads ):
28
+ self .df [((self .df > 0 ) & (self .df2 > 0 ))]
30
29
31
- class frame_add_st ( object ):
32
- goal_time = 0.2
30
+ def time_frame_comparison ( self , use_numexpr , threads ):
31
+ ( self . df > self . df2 )
33
32
34
- def setup (self ):
35
- self .df = DataFrame (np .random .randn (20000 , 100 ))
36
- self .df2 = DataFrame (np .random .randn (20000 , 100 ))
37
- expr .set_numexpr_threads (1 )
38
-
39
- def time_frame_add_st (self ):
40
- (self .df + self .df2 )
41
-
42
- def teardown (self ):
33
+ def teardown (self , use_numexpr , threads ):
34
+ expr .set_use_numexpr (True )
43
35
expr .set_numexpr_threads ()
44
36
45
37
46
- class frame_float_div (object ):
38
+ class Ops2 (object ):
47
39
goal_time = 0.2
48
40
49
41
def setup (self ):
50
42
self .df = DataFrame (np .random .randn (1000 , 1000 ))
51
43
self .df2 = DataFrame (np .random .randn (1000 , 1000 ))
52
44
53
- def time_frame_float_div (self ):
54
- (self .df // self .df2 )
45
+ self .df_int = DataFrame (
46
+ np .random .random_integers (np .iinfo (np .int16 ).min ,
47
+ np .iinfo (np .int16 ).max ,
48
+ size = (1000 , 1000 )))
49
+ self .df2_int = DataFrame (
50
+ np .random .random_integers (np .iinfo (np .int16 ).min ,
51
+ np .iinfo (np .int16 ).max ,
52
+ size = (1000 , 1000 )))
55
53
54
+ ## Division
56
55
57
- class frame_float_div_by_zero (object ):
58
- goal_time = 0.2
59
-
60
- def setup (self ):
61
- self .df = DataFrame (np .random .randn (1000 , 1000 ))
56
+ def time_frame_float_div (self ):
57
+ (self .df // self .df2 )
62
58
63
59
def time_frame_float_div_by_zero (self ):
64
60
(self .df / 0 )
65
61
66
-
67
- class frame_float_floor_by_zero (object ):
68
- goal_time = 0.2
69
-
70
- def setup (self ):
71
- self .df = DataFrame (np .random .randn (1000 , 1000 ))
72
-
73
62
def time_frame_float_floor_by_zero (self ):
74
63
(self .df // 0 )
75
64
76
-
77
- class frame_float_mod (object ):
78
- goal_time = 0.2
79
-
80
- def setup (self ):
81
- self .df = DataFrame (np .random .randn (1000 , 1000 ))
82
- self .df2 = DataFrame (np .random .randn (1000 , 1000 ))
83
-
84
- def time_frame_float_mod (self ):
85
- (self .df / self .df2 )
86
-
87
-
88
- class frame_int_div_by_zero (object ):
89
- goal_time = 0.2
90
-
91
- def setup (self ):
92
- self .df = DataFrame (np .random .random_integers (np .iinfo (np .int16 ).min , np .iinfo (np .int16 ).max , size = (1000 , 1000 )))
93
-
94
65
def time_frame_int_div_by_zero (self ):
95
- (self .df / 0 )
96
-
66
+ (self .df_int / 0 )
97
67
98
- class frame_int_mod (object ):
99
- goal_time = 0.2
100
-
101
- def setup (self ):
102
- self .df = DataFrame (np .random .random_integers (np .iinfo (np .int16 ).min , np .iinfo (np .int16 ).max , size = (1000 , 1000 )))
103
- self .df2 = DataFrame (np .random .random_integers (np .iinfo (np .int16 ).min , np .iinfo (np .int16 ).max , size = (1000 , 1000 )))
68
+ ## Modulo
104
69
105
70
def time_frame_int_mod (self ):
106
71
(self .df / self .df2 )
107
72
108
-
109
- class frame_mult (object ):
110
- goal_time = 0.2
111
-
112
- def setup (self ):
113
- self .df = DataFrame (np .random .randn (20000 , 100 ))
114
- self .df2 = DataFrame (np .random .randn (20000 , 100 ))
115
-
116
- def time_frame_mult (self ):
117
- (self .df * self .df2 )
118
-
119
-
120
- class frame_mult_no_ne (object ):
121
- goal_time = 0.2
122
-
123
- def setup (self ):
124
- self .df = DataFrame (np .random .randn (20000 , 100 ))
125
- self .df2 = DataFrame (np .random .randn (20000 , 100 ))
126
- expr .set_use_numexpr (False )
127
-
128
- def time_frame_mult_no_ne (self ):
129
- (self .df * self .df2 )
130
-
131
- def teardown (self ):
132
- expr .set_use_numexpr (True )
133
-
134
-
135
- class frame_mult_st (object ):
136
- goal_time = 0.2
137
-
138
- def setup (self ):
139
- self .df = DataFrame (np .random .randn (20000 , 100 ))
140
- self .df2 = DataFrame (np .random .randn (20000 , 100 ))
141
- expr .set_numexpr_threads (1 )
142
-
143
- def time_frame_mult_st (self ):
144
- (self .df * self .df2 )
145
-
146
- def teardown (self ):
147
- expr .set_numexpr_threads ()
148
-
149
-
150
- class frame_multi_and (object ):
151
- goal_time = 0.2
152
-
153
- def setup (self ):
154
- self .df = DataFrame (np .random .randn (20000 , 100 ))
155
- self .df2 = DataFrame (np .random .randn (20000 , 100 ))
156
-
157
- def time_frame_multi_and (self ):
158
- self .df [((self .df > 0 ) & (self .df2 > 0 ))]
159
-
160
-
161
- class frame_multi_and_no_ne (object ):
162
- goal_time = 0.2
163
-
164
- def setup (self ):
165
- self .df = DataFrame (np .random .randn (20000 , 100 ))
166
- self .df2 = DataFrame (np .random .randn (20000 , 100 ))
167
- expr .set_use_numexpr (False )
168
-
169
- def time_frame_multi_and_no_ne (self ):
170
- self .df [((self .df > 0 ) & (self .df2 > 0 ))]
171
-
172
- def teardown (self ):
173
- expr .set_use_numexpr (True )
174
-
175
-
176
- class frame_multi_and_st (object ):
177
- goal_time = 0.2
178
-
179
- def setup (self ):
180
- self .df = DataFrame (np .random .randn (20000 , 100 ))
181
- self .df2 = DataFrame (np .random .randn (20000 , 100 ))
182
- expr .set_numexpr_threads (1 )
183
-
184
- def time_frame_multi_and_st (self ):
185
- self .df [((self .df > 0 ) & (self .df2 > 0 ))]
186
-
187
- def teardown (self ):
188
- expr .set_numexpr_threads ()
73
+ def time_frame_float_mod (self ):
74
+ (self .df / self .df2 )
189
75
190
76
191
- class series_timestamp_compare (object ):
77
+ class Timeseries (object ):
192
78
goal_time = 0.2
193
79
194
80
def setup (self ):
@@ -197,65 +83,28 @@ def setup(self):
197
83
self .s = Series (date_range ('20010101' , periods = self .N , freq = 'T' ))
198
84
self .ts = self .s [self .halfway ]
199
85
86
+ self .s2 = Series (date_range ('20010101' , periods = self .N , freq = 's' ))
87
+
200
88
def time_series_timestamp_compare (self ):
201
89
(self .s <= self .ts )
202
90
203
-
204
- class timestamp_ops_diff1 (object ):
205
- goal_time = 0.2
206
- N = 1000000
207
-
208
- def setup (self ):
209
- self .s = self .create ()
210
-
211
- def create (self ):
212
- return Series (date_range ('20010101' , periods = self .N , freq = 's' ))
91
+ def time_timestamp_series_compare (self ):
92
+ (self .ts >= self .s )
213
93
214
94
def time_timestamp_ops_diff1 (self ):
215
- self .s .diff ()
216
-
217
- class timestamp_tz_ops_diff1 (timestamp_ops_diff1 ):
218
- N = 10000
219
-
220
- def create (self ):
221
- return Series (date_range ('20010101' , periods = self .N , freq = 's' , tz = 'US/Eastern' ))
222
-
223
- class timestamp_ops_diff2 (object ):
224
- goal_time = 0.2
225
- N = 1000000
226
-
227
- def setup (self ):
228
- self .s = self .create ()
229
-
230
- def create (self ):
231
- return Series (date_range ('20010101' , periods = self .N , freq = 's' ))
95
+ self .s2 .diff ()
232
96
233
97
def time_timestamp_ops_diff2 (self ):
234
98
(self .s - self .s .shift ())
235
99
236
- class timestamp_tz_ops_diff2 (timestamp_ops_diff2 ):
237
- N = 10000
238
100
239
- def create (self ):
240
- return Series (date_range ('20010101' , periods = self .N , freq = 's' , tz = 'US/Eastern' ))
241
101
242
- class timestamp_series_compare (object ):
243
- goal_time = 0.2
244
- N = 1000000
102
+ class TimeseriesTZ (Timeseries ):
245
103
246
104
def setup (self ):
105
+ self .N = 1000000
247
106
self .halfway = ((self .N // 2 ) - 1 )
248
- self .s = self .create ( )
107
+ self .s = Series ( date_range ( '20010101' , periods = self .N , freq = 'T' , tz = 'US/Eastern' ) )
249
108
self .ts = self .s [self .halfway ]
250
109
251
- def create (self ):
252
- return Series (date_range ('20010101' , periods = self .N , freq = 'T' ))
253
-
254
- def time_timestamp_series_compare (self ):
255
- (self .ts >= self .s )
256
-
257
- class timestamp_tz_series_compare (timestamp_series_compare ):
258
- N = 10000
259
-
260
- def create (self ):
261
- return Series (date_range ('20010101' , periods = self .N , freq = 'T' , tz = 'US/Eastern' ))
110
+ self .s2 = Series (date_range ('20010101' , periods = self .N , freq = 's' , tz = 'US/Eastern' ))
0 commit comments