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 ):
9
- self .df = DataFrame (np .random .randn (20000 , 100 ))
10
- self .df2 = DataFrame (np .random .randn (20000 , 100 ))
11
-
12
- def time_frame_add (self ):
13
- (self .df + self .df2 )
8
+ params = [[True , False ], ['default' , 1 ]]
9
+ param_names = ['use_numexpr' , 'threads' ]
14
10
15
-
16
- class frame_add_no_ne (object ):
17
- goal_time = 0.2
18
-
19
- def setup (self ):
11
+ def setup (self , use_numexpr , threads ):
20
12
self .df = DataFrame (np .random .randn (20000 , 100 ))
21
13
self .df2 = DataFrame (np .random .randn (20000 , 100 ))
22
- expr .set_use_numexpr (False )
23
14
24
- def time_frame_add_no_ne (self ):
25
- (self .df + self .df2 )
26
-
27
- def teardown (self ):
28
- expr .set_use_numexpr (True )
15
+ if threads != 'default' :
16
+ expr .set_numexpr_threads (threads )
17
+ if not use_numexpr :
18
+ expr .set_use_numexpr (False )
29
19
30
20
31
- class frame_add_st ( object ):
32
- goal_time = 0.2
21
+ def time_frame_add ( self , use_numexpr , threads ):
22
+ ( self . df + self . df2 )
33
23
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 )
24
+ def time_frame_mult (self , use_numexpr , threads ):
25
+ (self .df * self .df2 )
38
26
39
- def time_frame_add_st (self ):
40
- ( self .df + self .df2 )
27
+ def time_frame_multi_and (self , use_numexpr , threads ):
28
+ self . df [(( self .df > 0 ) & ( self .df2 > 0 ))]
41
29
42
- def teardown (self ):
30
+ def teardown (self , use_numexpr , threads ):
31
+ expr .set_use_numexpr (True )
43
32
expr .set_numexpr_threads ()
44
33
45
34
46
- class frame_float_div (object ):
35
+ class Ops2 (object ):
47
36
goal_time = 0.2
48
37
49
38
def setup (self ):
50
39
self .df = DataFrame (np .random .randn (1000 , 1000 ))
51
40
self .df2 = DataFrame (np .random .randn (1000 , 1000 ))
52
41
53
- def time_frame_float_div (self ):
54
- (self .df // self .df2 )
42
+ self .df_int = DataFrame (
43
+ np .random .random_integers (np .iinfo (np .int16 ).min ,
44
+ np .iinfo (np .int16 ).max ,
45
+ size = (1000 , 1000 )))
46
+ self .df2_int = DataFrame (
47
+ np .random .random_integers (np .iinfo (np .int16 ).min ,
48
+ np .iinfo (np .int16 ).max ,
49
+ size = (1000 , 1000 )))
55
50
51
+ ## Division
56
52
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 ))
53
+ def time_frame_float_div (self ):
54
+ (self .df // self .df2 )
62
55
63
56
def time_frame_float_div_by_zero (self ):
64
57
(self .df / 0 )
65
58
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
59
def time_frame_float_floor_by_zero (self ):
74
60
(self .df // 0 )
75
61
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
62
def time_frame_int_div_by_zero (self ):
95
- (self .df / 0 )
63
+ (self .df_int / 0 )
96
64
97
-
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 )))
65
+ ## Modulo
104
66
105
67
def time_frame_int_mod (self ):
106
68
(self .df / self .df2 )
107
69
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 ()
70
+ def time_frame_float_mod (self ):
71
+ (self .df / self .df2 )
189
72
190
73
191
- class series_timestamp_compare (object ):
74
+ class Timeseries (object ):
192
75
goal_time = 0.2
193
76
194
77
def setup (self ):
@@ -197,65 +80,28 @@ def setup(self):
197
80
self .s = Series (date_range ('20010101' , periods = self .N , freq = 'T' ))
198
81
self .ts = self .s [self .halfway ]
199
82
83
+ self .s2 = Series (date_range ('20010101' , periods = self .N , freq = 's' ))
84
+
200
85
def time_series_timestamp_compare (self ):
201
86
(self .s <= self .ts )
202
87
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' ))
88
+ def time_timestamp_series_compare (self ):
89
+ (self .ts >= self .s )
213
90
214
91
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' ))
92
+ self .s2 .diff ()
232
93
233
94
def time_timestamp_ops_diff2 (self ):
234
95
(self .s - self .s .shift ())
235
96
236
- class timestamp_tz_ops_diff2 (timestamp_ops_diff2 ):
237
- N = 10000
238
97
239
- def create (self ):
240
- return Series (date_range ('20010101' , periods = self .N , freq = 's' , tz = 'US/Eastern' ))
241
98
242
- class timestamp_series_compare (object ):
243
- goal_time = 0.2
244
- N = 1000000
99
+ class TimeseriesTZ (Timeseries ):
245
100
246
101
def setup (self ):
102
+ self .N = 1000000
247
103
self .halfway = ((self .N // 2 ) - 1 )
248
- self .s = self .create ( )
104
+ self .s = Series ( date_range ( '20010101' , periods = self .N , freq = 'T' , tz = 'US/Eastern' ) )
249
105
self .ts = self .s [self .halfway ]
250
106
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' ))
107
+ self .s2 = Series (date_range ('20010101' , periods = self .N , freq = 's' , tz = 'US/Eastern' ))
0 commit comments