|
1 | 1 | import numpy as np
|
2 | 2 | import pandas.util.testing as tm
|
3 |
| -from pandas import (Series, date_range, DatetimeIndex, Index, MultiIndex, |
4 |
| - RangeIndex) |
| 3 | +from pandas import (Series, date_range, DatetimeIndex, Index, RangeIndex, |
| 4 | + Float64Index) |
5 | 5 |
|
6 | 6 | from .pandas_vb_common import setup # noqa
|
7 | 7 |
|
@@ -84,66 +84,6 @@ def time_modulo(self, dtype):
|
84 | 84 | self.index % 2
|
85 | 85 |
|
86 | 86 |
|
87 |
| -class Duplicated(object): |
88 |
| - |
89 |
| - goal_time = 0.2 |
90 |
| - |
91 |
| - def setup(self): |
92 |
| - n, k = 200, 5000 |
93 |
| - levels = [np.arange(n), |
94 |
| - tm.makeStringIndex(n).values, |
95 |
| - 1000 + np.arange(n)] |
96 |
| - labels = [np.random.choice(n, (k * n)) for lev in levels] |
97 |
| - self.mi = MultiIndex(levels=levels, labels=labels) |
98 |
| - |
99 |
| - def time_duplicated(self): |
100 |
| - self.mi.duplicated() |
101 |
| - |
102 |
| - |
103 |
| -class Sortlevel(object): |
104 |
| - |
105 |
| - goal_time = 0.2 |
106 |
| - |
107 |
| - def setup(self): |
108 |
| - n = 1182720 |
109 |
| - low, high = -4096, 4096 |
110 |
| - arrs = [np.repeat(np.random.randint(low, high, (n // k)), k) |
111 |
| - for k in [11, 7, 5, 3, 1]] |
112 |
| - self.mi_int = MultiIndex.from_arrays(arrs)[np.random.permutation(n)] |
113 |
| - |
114 |
| - a = np.repeat(np.arange(100), 1000) |
115 |
| - b = np.tile(np.arange(1000), 100) |
116 |
| - self.mi = MultiIndex.from_arrays([a, b]) |
117 |
| - self.mi = self.mi.take(np.random.permutation(np.arange(100000))) |
118 |
| - |
119 |
| - def time_sortlevel_int64(self): |
120 |
| - self.mi_int.sortlevel() |
121 |
| - |
122 |
| - def time_sortlevel_zero(self): |
123 |
| - self.mi.sortlevel(0) |
124 |
| - |
125 |
| - def time_sortlevel_one(self): |
126 |
| - self.mi.sortlevel(1) |
127 |
| - |
128 |
| - |
129 |
| -class MultiIndexValues(object): |
130 |
| - |
131 |
| - goal_time = 0.2 |
132 |
| - |
133 |
| - def setup_cache(self): |
134 |
| - |
135 |
| - level1 = range(1000) |
136 |
| - level2 = date_range(start='1/1/2012', periods=100) |
137 |
| - mi = MultiIndex.from_product([level1, level2]) |
138 |
| - return mi |
139 |
| - |
140 |
| - def time_datetime_level_values_copy(self, mi): |
141 |
| - mi.copy().values |
142 |
| - |
143 |
| - def time_datetime_level_values_sliced(self, mi): |
144 |
| - mi[:10].values |
145 |
| - |
146 |
| - |
147 | 87 | class Range(object):
|
148 | 88 |
|
149 | 89 | goal_time = 0.2
|
@@ -222,3 +162,16 @@ def time_slice(self, dtype):
|
222 | 162 |
|
223 | 163 | def time_slice_step(self, dtype):
|
224 | 164 | self.idx[::2]
|
| 165 | + |
| 166 | + |
| 167 | +class Float64IndexMethod(object): |
| 168 | + # GH 13166 |
| 169 | + goal_time = 0.2 |
| 170 | + |
| 171 | + def setup(self): |
| 172 | + N = 100000 |
| 173 | + a = np.arange(N) |
| 174 | + self.ind = Float64Index(a * 4.8000000418824129e-08) |
| 175 | + |
| 176 | + def time_get_loc(self): |
| 177 | + self.ind.get_loc(0) |
0 commit comments