From 36b03a1c0334f6c80332c610650e9bb2c8ae5740 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 27 Jun 2018 21:07:23 +0200 Subject: [PATCH] Parametrize asv; temp. if-cond to test against master --- asv_bench/benchmarks/frame_methods.py | 39 ++++++++++++++------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/asv_bench/benchmarks/frame_methods.py b/asv_bench/benchmarks/frame_methods.py index 3c4ffb13b9ec29..53816b6433ee70 100644 --- a/asv_bench/benchmarks/frame_methods.py +++ b/asv_bench/benchmarks/frame_methods.py @@ -412,8 +412,10 @@ def time_frame_nunique(self): class Duplicated(object): goal_time = 0.2 + params = (['first', 'last'], [True, False]) + param_names = ['keep', 'return_inverse'] - def setup(self): + def setup(self, keep, return_inverse): n = (1 << 20) t = date_range('2015-01-01', freq='S', periods=(n // 64)) xs = np.random.randn(n // 64).round(2) @@ -428,24 +430,23 @@ def setup(self): df3.loc[:, 'F'] = Series('', index=df3.index).str.cat(df3.astype(str)) self.df3 = df3 - def time_frame_duplicated(self): - self.df.duplicated() - - def time_frame_duplicated_wide(self): - self.df2.duplicated() - - def time_frame_duplicated_wide_inverse(self): - # will take fastpath for no duplicates - self.df2.duplicated(return_inverse=True) - - def time_frame_duplicated_mixed(self): - self.df3.duplicated() - - def time_frame_duplicated_mixed_inverse(self): - self.df3.duplicated(return_inverse=True) - - def time_frame_duplicated_mixed_inverse_last(self): - self.df3.duplicated(return_inverse=True, keep='last') + def time_frame_duplicated(self, keep, return_inverse): + if return_inverse: + self.df.duplicated(keep=keep, return_inverse=return_inverse) + else: + self.df.duplicated(keep=keep) + + def time_frame_duplicated_wide(self, keep, return_inverse): + if return_inverse: + self.df2.duplicated(keep=keep, return_inverse=return_inverse) + else: + self.df2.duplicated(keep=keep) + + def time_frame_duplicated_mixed(self, keep, return_inverse): + if return_inverse: + self.df3.duplicated(keep=keep, return_inverse=return_inverse) + else: + self.df3.duplicated(keep=keep) class XS(object):