From b7f72fa284bc45eb23e4646ba710b0fd6f468cbf Mon Sep 17 00:00:00 2001 From: "chean.wei.khor" Date: Tue, 1 Mar 2022 22:13:31 +0800 Subject: [PATCH 1/6] add benchmark --- asv_bench/benchmarks/indexing.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/asv_bench/benchmarks/indexing.py b/asv_bench/benchmarks/indexing.py index 40eaab524a399..b9e565da2dbb2 100644 --- a/asv_bench/benchmarks/indexing.py +++ b/asv_bench/benchmarks/indexing.py @@ -290,12 +290,24 @@ def setup(self): self.dti = dti self.dti2 = dti2 + index = np.random.choice(dti, 10000, replace=True) + df = DataFrame(index=index, data={"a": 1}) + df_sort = df.sort_index() + self.df = df + self.df_sort = df_sort + def time_get_indexer_mismatched_tz(self): # reached via e.g. # ser = Series(range(len(dti)), index=dti) # ser[dti2] self.dti.get_indexer(self.dti2) + def time_loc_unsorted(self): + self.df.loc["2016-6-11"] + + def time_loc_sorted(self): + self.df_sort.loc["2016-6-11"] + class CategoricalIndexIndexing: From 33de307ef822415291e655679908866121797cd1 Mon Sep 17 00:00:00 2001 From: "chean.wei.khor" Date: Wed, 2 Mar 2022 23:35:50 +0800 Subject: [PATCH 2/6] add --- asv_bench/benchmarks/indexing.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/asv_bench/benchmarks/indexing.py b/asv_bench/benchmarks/indexing.py index b9e565da2dbb2..a9ab1998591b3 100644 --- a/asv_bench/benchmarks/indexing.py +++ b/asv_bench/benchmarks/indexing.py @@ -290,18 +290,22 @@ def setup(self): self.dti = dti self.dti2 = dti2 - index = np.random.choice(dti, 10000, replace=True) - df = DataFrame(index=index, data={"a": 1}) - df_sort = df.sort_index() - self.df = df - self.df_sort = df_sort - def time_get_indexer_mismatched_tz(self): # reached via e.g. # ser = Series(range(len(dti)), index=dti) # ser[dti2] self.dti.get_indexer(self.dti2) + +class SortedAndUnsortedDatetimeIndexLoc: + def setup(self): + dti = date_range("2016-01-01", periods=10000, tz="US/Pacific") + index = np.array(dti) + df = DataFrame(index=index, data={"a": 1}) + df_sort = df.sort_index() + self.df = df + self.df_sort = df_sort + def time_loc_unsorted(self): self.df.loc["2016-6-11"] From 9fc792de1a4f56bd95063b079156a5faa21ecd5f Mon Sep 17 00:00:00 2001 From: "chean.wei.khor" Date: Wed, 2 Mar 2022 23:37:44 +0800 Subject: [PATCH 3/6] add benchmark --- asv_bench/benchmarks/indexing.py | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/asv_bench/benchmarks/indexing.py b/asv_bench/benchmarks/indexing.py index 964030aa062c1..a9ab1998591b3 100644 --- a/asv_bench/benchmarks/indexing.py +++ b/asv_bench/benchmarks/indexing.py @@ -290,24 +290,12 @@ def setup(self): self.dti = dti self.dti2 = dti2 - index = np.random.choice(dti, 10000, replace=True) - df = DataFrame(index=index, data={"a": 1}) - df_sort = df.sort_index() - self.df = df - self.df_sort = df_sort - def time_get_indexer_mismatched_tz(self): # reached via e.g. # ser = Series(range(len(dti)), index=dti) # ser[dti2] self.dti.get_indexer(self.dti2) - def time_loc_unsorted(self): - self.df.loc["2016-6-11"] - - def time_loc_sorted(self): - self.df_sort.loc["2016-6-11"] - class SortedAndUnsortedDatetimeIndexLoc: def setup(self): From 58dc33377bccddc92d08223c38b6c4e869364ea8 Mon Sep 17 00:00:00 2001 From: "chean.wei.khor" Date: Thu, 3 Mar 2022 20:03:32 +0800 Subject: [PATCH 4/6] add --- asv_bench/benchmarks/indexing.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/asv_bench/benchmarks/indexing.py b/asv_bench/benchmarks/indexing.py index a9ab1998591b3..6554ea4177812 100644 --- a/asv_bench/benchmarks/indexing.py +++ b/asv_bench/benchmarks/indexing.py @@ -301,13 +301,14 @@ class SortedAndUnsortedDatetimeIndexLoc: def setup(self): dti = date_range("2016-01-01", periods=10000, tz="US/Pacific") index = np.array(dti) - df = DataFrame(index=index, data={"a": 1}) - df_sort = df.sort_index() - self.df = df + df_unsorted = DataFrame(index=index, data={"a": 1}) + df_sort = df_unsorted.copy().sort_index() + + self.df_unsorted = df_unsorted self.df_sort = df_sort def time_loc_unsorted(self): - self.df.loc["2016-6-11"] + self.df_unsorted.loc["2016-6-11"] def time_loc_sorted(self): self.df_sort.loc["2016-6-11"] From da36670d129cb7e0ec1aa4a276a76383fcf9d5b8 Mon Sep 17 00:00:00 2001 From: "chean.wei.khor" Date: Sat, 5 Mar 2022 00:03:47 +0800 Subject: [PATCH 5/6] add --- asv_bench/benchmarks/indexing.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/asv_bench/benchmarks/indexing.py b/asv_bench/benchmarks/indexing.py index 6554ea4177812..62a53ae736087 100644 --- a/asv_bench/benchmarks/indexing.py +++ b/asv_bench/benchmarks/indexing.py @@ -301,8 +301,12 @@ class SortedAndUnsortedDatetimeIndexLoc: def setup(self): dti = date_range("2016-01-01", periods=10000, tz="US/Pacific") index = np.array(dti) - df_unsorted = DataFrame(index=index, data={"a": 1}) - df_sort = df_unsorted.copy().sort_index() + + unsorted_index = index.copy() + unsorted_index[10] = unsorted_index[20] + + df_unsorted = DataFrame(index=unsorted_index, data={"a": 1}) + df_sort = DataFrame(index=index, data={"a": 1}) self.df_unsorted = df_unsorted self.df_sort = df_sort From 2e67ef74946c0f6f266e4e2547aa8ecdacac1e98 Mon Sep 17 00:00:00 2001 From: "chean.wei.khor" Date: Sat, 5 Mar 2022 00:15:24 +0800 Subject: [PATCH 6/6] add --- asv_bench/benchmarks/indexing.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/asv_bench/benchmarks/indexing.py b/asv_bench/benchmarks/indexing.py index 62a53ae736087..d5f165084505f 100644 --- a/asv_bench/benchmarks/indexing.py +++ b/asv_bench/benchmarks/indexing.py @@ -305,11 +305,8 @@ def setup(self): unsorted_index = index.copy() unsorted_index[10] = unsorted_index[20] - df_unsorted = DataFrame(index=unsorted_index, data={"a": 1}) - df_sort = DataFrame(index=index, data={"a": 1}) - - self.df_unsorted = df_unsorted - self.df_sort = df_sort + self.df_unsorted = DataFrame(index=unsorted_index, data={"a": 1}) + self.df_sort = DataFrame(index=index, data={"a": 1}) def time_loc_unsorted(self): self.df_unsorted.loc["2016-6-11"]