Skip to content

Commit a433b98

Browse files
kraschnoatamir
authored andcommitted
PERF: Add ASV benchmark for resample after groupby (pandas-dev#49274)
1 parent 3b17ce6 commit a433b98

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

asv_bench/benchmarks/groupby.py

+28
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
Timestamp,
1515
date_range,
1616
period_range,
17+
to_timedelta,
1718
)
1819

1920
from .pandas_vb_common import tm
@@ -987,4 +988,31 @@ def time_sample_weights(self):
987988
self.df.groupby(self.groups).sample(n=1, weights=self.weights)
988989

989990

991+
class Resample:
992+
# GH 28635
993+
def setup(self):
994+
num_timedeltas = 20_000
995+
num_groups = 3
996+
997+
index = MultiIndex.from_product(
998+
[
999+
np.arange(num_groups),
1000+
to_timedelta(np.arange(num_timedeltas), unit="s"),
1001+
],
1002+
names=["groups", "timedeltas"],
1003+
)
1004+
data = np.random.randint(0, 1000, size=(len(index)))
1005+
1006+
self.df = DataFrame(data, index=index).reset_index("timedeltas")
1007+
self.df_multiindex = DataFrame(data, index=index)
1008+
1009+
def time_resample(self):
1010+
self.df.groupby(level="groups").resample("10s", on="timedeltas").mean()
1011+
1012+
def time_resample_multiindex(self):
1013+
self.df_multiindex.groupby(level="groups").resample(
1014+
"10s", level="timedeltas"
1015+
).mean()
1016+
1017+
9901018
from .pandas_vb_common import setup # noqa: F401 isort:skip

0 commit comments

Comments
 (0)