Skip to content

Commit c883128

Browse files
mroeschkejreback
authored andcommitted
CLN: ASV indexing (pandas-dev#19031)
1 parent 9e44182 commit c883128

File tree

5 files changed

+323
-296
lines changed

5 files changed

+323
-296
lines changed

asv_bench/benchmarks/index_object.py

+15-62
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import numpy as np
22
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)
55

66
from .pandas_vb_common import setup # noqa
77

@@ -84,66 +84,6 @@ def time_modulo(self, dtype):
8484
self.index % 2
8585

8686

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-
14787
class Range(object):
14888

14989
goal_time = 0.2
@@ -222,3 +162,16 @@ def time_slice(self, dtype):
222162

223163
def time_slice_step(self, dtype):
224164
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

Comments
 (0)