3
3
import pandas .computation .expressions as expr
4
4
5
5
6
- class eval_frame_add_all_threads (object ):
6
+ class eval_frame (object ):
7
7
goal_time = 0.2
8
8
9
- def setup (self ):
10
- self .df = DataFrame (np .random .randn (20000 , 100 ))
11
- self .df2 = DataFrame (np .random .randn (20000 , 100 ))
12
- self .df3 = DataFrame (np .random .randn (20000 , 100 ))
13
- self .df4 = DataFrame (np .random .randn (20000 , 100 ))
14
-
15
- def time_eval_frame_add_all_threads (self ):
16
- pd .eval ('df + df2 + df3 + df4' )
17
-
18
-
19
- class eval_frame_add_one_thread (object ):
20
- goal_time = 0.2
21
-
22
- def setup (self ):
23
- self .df = DataFrame (np .random .randn (20000 , 100 ))
24
- self .df2 = DataFrame (np .random .randn (20000 , 100 ))
25
- self .df3 = DataFrame (np .random .randn (20000 , 100 ))
26
- self .df4 = DataFrame (np .random .randn (20000 , 100 ))
27
- expr .set_numexpr_threads (1 )
28
-
29
- def time_eval_frame_add_one_thread (self ):
30
- pd .eval ('df + df2 + df3 + df4' )
31
-
32
-
33
- class eval_frame_add_python (object ):
34
- goal_time = 0.2
35
-
36
- def setup (self ):
37
- self .df = DataFrame (np .random .randn (20000 , 100 ))
38
- self .df2 = DataFrame (np .random .randn (20000 , 100 ))
39
- self .df3 = DataFrame (np .random .randn (20000 , 100 ))
40
- self .df4 = DataFrame (np .random .randn (20000 , 100 ))
41
-
42
- def time_eval_frame_add_python (self ):
43
- pd .eval ('df + df2 + df3 + df4' , engine = 'python' )
44
-
45
-
46
- class eval_frame_add_python_one_thread (object ):
47
- goal_time = 0.2
48
-
49
- def setup (self ):
50
- self .df = DataFrame (np .random .randn (20000 , 100 ))
51
- self .df2 = DataFrame (np .random .randn (20000 , 100 ))
52
- self .df3 = DataFrame (np .random .randn (20000 , 100 ))
53
- self .df4 = DataFrame (np .random .randn (20000 , 100 ))
54
- expr .set_numexpr_threads (1 )
55
-
56
- def time_eval_frame_add_python_one_thread (self ):
57
- pd .eval ('df + df2 + df3 + df4' , engine = 'python' )
58
-
59
-
60
- class eval_frame_and_all_threads (object ):
61
- goal_time = 0.2
62
-
63
- def setup (self ):
64
- self .df = DataFrame (np .random .randn (20000 , 100 ))
65
- self .df2 = DataFrame (np .random .randn (20000 , 100 ))
66
- self .df3 = DataFrame (np .random .randn (20000 , 100 ))
67
- self .df4 = DataFrame (np .random .randn (20000 , 100 ))
68
-
69
- def time_eval_frame_and_all_threads (self ):
70
- pd .eval ('(df > 0) & (df2 > 0) & (df3 > 0) & (df4 > 0)' )
71
-
72
-
73
- class eval_frame_and_python_one_thread (object ):
74
- goal_time = 0.2
75
-
76
- def setup (self ):
77
- self .df = DataFrame (np .random .randn (20000 , 100 ))
78
- self .df2 = DataFrame (np .random .randn (20000 , 100 ))
79
- self .df3 = DataFrame (np .random .randn (20000 , 100 ))
80
- self .df4 = DataFrame (np .random .randn (20000 , 100 ))
81
- expr .set_numexpr_threads (1 )
82
-
83
- def time_eval_frame_and_python_one_thread (self ):
84
- pd .eval ('(df > 0) & (df2 > 0) & (df3 > 0) & (df4 > 0)' , engine = 'python' )
85
-
86
-
87
- class eval_frame_and_python (object ):
88
- goal_time = 0.2
89
-
90
- def setup (self ):
91
- self .df = DataFrame (np .random .randn (20000 , 100 ))
92
- self .df2 = DataFrame (np .random .randn (20000 , 100 ))
93
- self .df3 = DataFrame (np .random .randn (20000 , 100 ))
94
- self .df4 = DataFrame (np .random .randn (20000 , 100 ))
95
-
96
- def time_eval_frame_and_python (self ):
97
- pd .eval ('(df > 0) & (df2 > 0) & (df3 > 0) & (df4 > 0)' , engine = 'python' )
98
-
99
-
100
- class eval_frame_chained_cmp_all_threads (object ):
101
- goal_time = 0.2
102
-
103
- def setup (self ):
104
- self .df = DataFrame (np .random .randn (20000 , 100 ))
105
- self .df2 = DataFrame (np .random .randn (20000 , 100 ))
106
- self .df3 = DataFrame (np .random .randn (20000 , 100 ))
107
- self .df4 = DataFrame (np .random .randn (20000 , 100 ))
108
-
109
- def time_eval_frame_chained_cmp_all_threads (self ):
110
- pd .eval ('df < df2 < df3 < df4' )
111
-
112
-
113
- class eval_frame_chained_cmp_python_one_thread (object ):
114
- goal_time = 0.2
9
+ params = [['numexpr' , 'python' ], [1 , 'all' ]]
10
+ param_names = ['engine' , 'threads' ]
115
11
116
- def setup (self ):
117
- self .df = DataFrame (np .random .randn (20000 , 100 ))
118
- self .df2 = DataFrame (np .random .randn (20000 , 100 ))
119
- self .df3 = DataFrame (np .random .randn (20000 , 100 ))
120
- self .df4 = DataFrame (np .random .randn (20000 , 100 ))
121
- expr .set_numexpr_threads (1 )
122
-
123
- def time_eval_frame_chained_cmp_python_one_thread (self ):
124
- pd .eval ('df < df2 < df3 < df4' , engine = 'python' )
125
-
126
-
127
- class eval_frame_chained_cmp_python (object ):
128
- goal_time = 0.2
129
-
130
- def setup (self ):
12
+ def setup (self , engine , threads ):
131
13
self .df = DataFrame (np .random .randn (20000 , 100 ))
132
14
self .df2 = DataFrame (np .random .randn (20000 , 100 ))
133
15
self .df3 = DataFrame (np .random .randn (20000 , 100 ))
134
16
self .df4 = DataFrame (np .random .randn (20000 , 100 ))
135
17
136
- def time_eval_frame_chained_cmp_python ( self ) :
137
- pd . eval ( 'df < df2 < df3 < df4' , engine = 'python' )
18
+ if threads == 1 :
19
+ expr . set_numexpr_threads ( 1 )
138
20
21
+ def time_add (self , engine , threads ):
22
+ df , df2 , df3 , df4 = self .df , self .df2 , self .df3 , self .df4
23
+ pd .eval ('df + df2 + df3 + df4' , engine = engine )
139
24
140
- class eval_frame_mult_all_threads (object ):
141
- goal_time = 0.2
25
+ def time_and (self , engine , threads ):
26
+ df , df2 , df3 , df4 = self .df , self .df2 , self .df3 , self .df4
27
+ pd .eval ('(df > 0) & (df2 > 0) & (df3 > 0) & (df4 > 0)' , engine = engine )
142
28
143
- def setup (self ):
144
- self .df = DataFrame (np .random .randn (20000 , 100 ))
145
- self .df2 = DataFrame (np .random .randn (20000 , 100 ))
146
- self .df3 = DataFrame (np .random .randn (20000 , 100 ))
147
- self .df4 = DataFrame (np .random .randn (20000 , 100 ))
148
-
149
- def time_eval_frame_mult_all_threads (self ):
150
- pd .eval ('df * df2 * df3 * df4' )
151
-
152
-
153
- class eval_frame_mult_one_thread (object ):
154
- goal_time = 0.2
155
-
156
- def setup (self ):
157
- self .df = DataFrame (np .random .randn (20000 , 100 ))
158
- self .df2 = DataFrame (np .random .randn (20000 , 100 ))
159
- self .df3 = DataFrame (np .random .randn (20000 , 100 ))
160
- self .df4 = DataFrame (np .random .randn (20000 , 100 ))
161
- expr .set_numexpr_threads (1 )
162
-
163
- def time_eval_frame_mult_one_thread (self ):
164
- pd .eval ('df * df2 * df3 * df4' )
165
-
166
-
167
- class eval_frame_mult_python (object ):
168
- goal_time = 0.2
169
-
170
- def setup (self ):
171
- self .df = DataFrame (np .random .randn (20000 , 100 ))
172
- self .df2 = DataFrame (np .random .randn (20000 , 100 ))
173
- self .df3 = DataFrame (np .random .randn (20000 , 100 ))
174
- self .df4 = DataFrame (np .random .randn (20000 , 100 ))
175
-
176
- def time_eval_frame_mult_python (self ):
177
- pd .eval ('df * df2 * df3 * df4' , engine = 'python' )
178
-
179
-
180
- class eval_frame_mult_python_one_thread (object ):
181
- goal_time = 0.2
182
-
183
- def setup (self ):
184
- self .df = DataFrame (np .random .randn (20000 , 100 ))
185
- self .df2 = DataFrame (np .random .randn (20000 , 100 ))
186
- self .df3 = DataFrame (np .random .randn (20000 , 100 ))
187
- self .df4 = DataFrame (np .random .randn (20000 , 100 ))
188
- expr .set_numexpr_threads (1 )
29
+ def time_chained_cmp (self , engine , threads ):
30
+ df , df2 , df3 , df4 = self .df , self .df2 , self .df3 , self .df4
31
+ pd .eval ('df < df2 < df3 < df4' , engine = engine )
189
32
190
- def time_eval_frame_mult_python_one_thread (self ):
191
- pd .eval ('df * df2 * df3 * df4' , engine = 'python' )
33
+ def time_mult (self , engine , threads ):
34
+ df , df2 , df3 , df4 = self .df , self .df2 , self .df3 , self .df4
35
+ pd .eval ('df * df2 * df3 * df4' , engine = engine )
192
36
193
37
194
38
class query_datetime_index (object ):
@@ -203,6 +47,7 @@ def setup(self):
203
47
self .df = DataFrame ({'a' : np .random .randn (self .N ), }, index = self .index )
204
48
205
49
def time_query_datetime_index (self ):
50
+ ts = self .ts
206
51
self .df .query ('index < @ts' )
207
52
208
53
@@ -218,6 +63,7 @@ def setup(self):
218
63
self .df = DataFrame ({'dates' : self .s .values , })
219
64
220
65
def time_query_datetime_series (self ):
66
+ ts = self .ts
221
67
self .df .query ('dates < @ts' )
222
68
223
69
@@ -236,4 +82,5 @@ def setup(self):
236
82
self .max_val = self .df ['a' ].max ()
237
83
238
84
def time_query_with_boolean_selection (self ):
239
- self .df .query ('(a >= @min_val) & (a <= @max_val)' )
85
+ min_val , max_val = self .min_val , self .max_val
86
+ self .df .query ('(a >= @min_val) & (a <= @max_val)' )
0 commit comments