Skip to content

Commit 5f05fdc

Browse files
committed
Fix usage of fast_multiget with index which was always throwing an exception that was then caught; add ASV that show slight improvement
1 parent 3ba2cff commit 5f05fdc

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

asv_bench/benchmarks/series_methods.py

+15
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,21 @@ def time_series_constructor_no_data_datetime_index(self):
1515
Series(data=None, index=self.dr)
1616

1717

18+
class series_constructor_dict_data_datetime_index(object):
19+
goal_time = 0.2
20+
21+
def setup(self):
22+
self.dr = pd.date_range(
23+
start=datetime(2015, 10, 26),
24+
end=datetime(2016, 1, 1),
25+
freq='10s'
26+
) # ~500k long
27+
self.data = {d: v for d, v in zip(self.dr, range(len(self.dr)))}
28+
29+
def time_series_constructor_no_data_datetime_index(self):
30+
Series(data=self.data, index=self.dr)
31+
32+
1833
class series_isin_int64(object):
1934
goal_time = 0.2
2035

pandas/core/series.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ def __init__(self, data=None, index=None, dtype=None, name=None,
188188
if len(data):
189189
# coerce back to datetime objects for lookup
190190
data = _dict_compat(data)
191-
data = lib.fast_multiget(data, index.astype('O'),
191+
data = lib.fast_multiget(data, index.asobject.values,
192192
default=np.nan)
193193
else:
194194
data = np.nan

0 commit comments

Comments
 (0)