Skip to content

Commit 8a790be

Browse files
committed
ENH: Series.resample performance with datetime64[ns] #7754
1 parent ef23df1 commit 8a790be

File tree

3 files changed

+14
-0
lines changed

3 files changed

+14
-0
lines changed

doc/source/whatsnew/v0.17.0.txt

+2
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ Removal of prior version deprecations/changes
5353
Performance Improvements
5454
~~~~~~~~~~~~~~~~~~~~~~~~
5555

56+
- Improved ``Series.resample`` performance with dtype=datetime64[ns] (:issue:`7754`)
57+
5658
.. _whatsnew_0170.bug_fixes:
5759

5860
Bug Fixes

pandas/core/groupby.py

+2
Original file line numberDiff line numberDiff line change
@@ -1496,6 +1496,8 @@ def aggregate(self, values, how, axis=0):
14961496

14971497
if is_datetime_or_timedelta_dtype(values.dtype):
14981498
values = values.view('int64')
1499+
# GH 7754
1500+
is_numeric = True
14991501
elif is_bool_dtype(values.dtype):
15001502
values = _algos.ensure_float64(values)
15011503
elif com.is_integer_dtype(values):

vb_suite/timeseries.py

+10
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,16 @@ def date_range(start=None, end=None, periods=None, freq=None):
135135
Benchmark("ts.resample('D', how='mean')", setup,
136136
start_date=datetime(2012, 4, 25))
137137

138+
# GH 7754
139+
setup = common_setup + """
140+
rng = date_range(start='2000-01-01 00:00:00',
141+
end='2000-01-01 10:00:00', freq='555000U')
142+
int_ts = Series(5, rng, dtype='int64')
143+
ts = int_ts.astype('datetime64[ns]')
144+
"""
145+
146+
timeseries_resample_datetime64 = Benchmark("ts.resample('1S', how='last')", setup)
147+
138148
#----------------------------------------------------------------------
139149
# to_datetime
140150

0 commit comments

Comments
 (0)