Skip to content

Performance regression in reshape.Cut.time_qcut_timedelta #33921

@TomAugspurger

Description

@TomAugspurger

Setup

import numpy as np
import pandas as pd

N = 10 ** 5
bins = 1000
timedelta_series = pd.Series(
    np.random.randint(N, size=N), dtype="timedelta64[ns]"
)


%timeit pd.qcut(timedelta_series, bins)
# 1.0.2
57.7 ms ± 1.13 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)

# master
139 ms ± 2.97 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)

https://pandas.pydata.org/speed/pandas/index.html#rolling.Methods.time_rolling?p-constructor=%27Series%27&p-window=10&p-dtype=%27float%27&p-method=%27sum%27&commits=265b8420121a66ed18329c7a90d5381aeda5454f-ad4ad22c6804e6925c4eb82f51b974c03c3036a8 points to d04b965 (cc @mabelvj)

Metadata

Metadata

Assignees

No one assigned

    Labels

    PerformanceMemory or execution speed performanceRegressionFunctionality that used to work in a prior pandas versioncutcut, qcut

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions