|
1 | | -import string |
2 | | - |
3 | 1 | import numpy as np |
4 | 2 | import pandas.util.testing as tm |
5 | | -from pandas import (Series, date_range, DatetimeIndex, Index, MultiIndex, |
6 | | - RangeIndex, Float64Index) |
| 3 | +from pandas import (Series, date_range, DatetimeIndex, Index, RangeIndex, |
| 4 | + Float64Index) |
7 | 5 |
|
8 | 6 | from .pandas_vb_common import setup # noqa |
9 | 7 |
|
@@ -86,66 +84,6 @@ def time_modulo(self, dtype): |
86 | 84 | self.index % 2 |
87 | 85 |
|
88 | 86 |
|
89 | | -class Duplicated(object): |
90 | | - |
91 | | - goal_time = 0.2 |
92 | | - |
93 | | - def setup(self): |
94 | | - n, k = 200, 5000 |
95 | | - levels = [np.arange(n), |
96 | | - tm.makeStringIndex(n).values, |
97 | | - 1000 + np.arange(n)] |
98 | | - labels = [np.random.choice(n, (k * n)) for lev in levels] |
99 | | - self.mi = MultiIndex(levels=levels, labels=labels) |
100 | | - |
101 | | - def time_duplicated(self): |
102 | | - self.mi.duplicated() |
103 | | - |
104 | | - |
105 | | -class Sortlevel(object): |
106 | | - |
107 | | - goal_time = 0.2 |
108 | | - |
109 | | - def setup(self): |
110 | | - n = 1182720 |
111 | | - low, high = -4096, 4096 |
112 | | - arrs = [np.repeat(np.random.randint(low, high, (n // k)), k) |
113 | | - for k in [11, 7, 5, 3, 1]] |
114 | | - self.mi_int = MultiIndex.from_arrays(arrs)[np.random.permutation(n)] |
115 | | - |
116 | | - a = np.repeat(np.arange(100), 1000) |
117 | | - b = np.tile(np.arange(1000), 100) |
118 | | - self.mi = MultiIndex.from_arrays([a, b]) |
119 | | - self.mi = self.mi.take(np.random.permutation(np.arange(100000))) |
120 | | - |
121 | | - def time_sortlevel_int64(self): |
122 | | - self.mi_int.sortlevel() |
123 | | - |
124 | | - def time_sortlevel_zero(self): |
125 | | - self.mi.sortlevel(0) |
126 | | - |
127 | | - def time_sortlevel_one(self): |
128 | | - self.mi.sortlevel(1) |
129 | | - |
130 | | - |
131 | | -class MultiIndexValues(object): |
132 | | - |
133 | | - goal_time = 0.2 |
134 | | - |
135 | | - def setup_cache(self): |
136 | | - |
137 | | - level1 = range(1000) |
138 | | - level2 = date_range(start='1/1/2012', periods=100) |
139 | | - mi = MultiIndex.from_product([level1, level2]) |
140 | | - return mi |
141 | | - |
142 | | - def time_datetime_level_values_copy(self, mi): |
143 | | - mi.copy().values |
144 | | - |
145 | | - def time_datetime_level_values_sliced(self, mi): |
146 | | - mi[:10].values |
147 | | - |
148 | | - |
149 | 87 | class Range(object): |
150 | 88 |
|
151 | 89 | goal_time = 0.2 |
@@ -237,76 +175,3 @@ def setup(self): |
237 | 175 |
|
238 | 176 | def time_get_loc(self): |
239 | 177 | self.ind.get_loc(0) |
240 | | - |
241 | | - |
242 | | -class MultiIndexGet(object): |
243 | | - |
244 | | - goal_time = 0.2 |
245 | | - |
246 | | - def setup(self): |
247 | | - self.mi_large = MultiIndex.from_product( |
248 | | - [np.arange(1000), np.arange(20), list(string.ascii_letters)], |
249 | | - names=['one', 'two', 'three']) |
250 | | - self.mi_med = MultiIndex.from_product( |
251 | | - [np.arange(1000), np.arange(10), list('A')], |
252 | | - names=['one', 'two', 'three']) |
253 | | - self.mi_small = MultiIndex.from_product( |
254 | | - [np.arange(100), list('A'), list('A')], |
255 | | - names=['one', 'two', 'three']) |
256 | | - |
257 | | - def time_multiindex_large_get_loc(self): |
258 | | - self.mi_large.get_loc((999, 19, 'Z')) |
259 | | - |
260 | | - def time_multiindex_large_get_loc_warm(self): |
261 | | - for _ in range(1000): |
262 | | - self.mi_large.get_loc((999, 19, 'Z')) |
263 | | - |
264 | | - def time_multiindex_med_get_loc(self): |
265 | | - self.mi_med.get_loc((999, 9, 'A')) |
266 | | - |
267 | | - def time_multiindex_med_get_loc_warm(self): |
268 | | - for _ in range(1000): |
269 | | - self.mi_med.get_loc((999, 9, 'A')) |
270 | | - |
271 | | - def time_multiindex_string_get_loc(self): |
272 | | - self.mi_small.get_loc((99, 'A', 'A')) |
273 | | - |
274 | | - def time_multiindex_small_get_loc_warm(self): |
275 | | - for _ in range(1000): |
276 | | - self.mi_small.get_loc((99, 'A', 'A')) |
277 | | - |
278 | | - |
279 | | -class MultiIndexDuplicates(object): |
280 | | - |
281 | | - goal_time = 0.2 |
282 | | - |
283 | | - def setup(self): |
284 | | - size = 65536 |
285 | | - arrays = [np.random.randint(0, 8192, size), |
286 | | - np.random.randint(0, 1024, size)] |
287 | | - mask = np.random.rand(size) < 0.1 |
288 | | - self.mi_unused_levels = MultiIndex.from_arrays(arrays) |
289 | | - self.mi_unused_levels = self.mi_unused_levels[mask] |
290 | | - |
291 | | - def time_remove_unused_levels(self): |
292 | | - self.mi_unused_levels.remove_unused_levels() |
293 | | - |
294 | | - |
295 | | -class MultiIndexInteger(object): |
296 | | - |
297 | | - goal_time = 0.2 |
298 | | - |
299 | | - def setup(self): |
300 | | - self.mi_int = MultiIndex.from_product([np.arange(1000), |
301 | | - np.arange(1000)], |
302 | | - names=['one', 'two']) |
303 | | - self.obj_index = np.array([(0, 10), (0, 11), (0, 12), |
304 | | - (0, 13), (0, 14), (0, 15), |
305 | | - (0, 16), (0, 17), (0, 18), |
306 | | - (0, 19)], dtype=object) |
307 | | - |
308 | | - def time_get_indexer(self): |
309 | | - self.mi_int.get_indexer(self.obj_index) |
310 | | - |
311 | | - def time_is_monotonic(self): |
312 | | - self.mi_int.is_monotonic |
0 commit comments