From eee5a05e79d50060aa5b58e6d979799d8430014f Mon Sep 17 00:00:00 2001 From: Quang Nguyen Date: Mon, 13 Nov 2023 21:13:35 +0700 Subject: [PATCH 1/3] add asv --- asv_bench/benchmarks/indexing.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/asv_bench/benchmarks/indexing.py b/asv_bench/benchmarks/indexing.py index d8b1bf327294a..3a5be977d36cf 100644 --- a/asv_bench/benchmarks/indexing.py +++ b/asv_bench/benchmarks/indexing.py @@ -515,6 +515,17 @@ def time_setitem_list(self): self.df[[100, 200, 300]] = 100 +class SetitemObjectDtype: + def setup(self): + N = 1000 + cols = 500 + self.df = DataFrame(index=range(N), columns=range(cols), dtype=object) + self.df = DataFrame(np.random.rand(N, cols)) + + def time_setitem_object_dtype(self): + self.df.loc[0, 1] = 1.0 + + class ChainIndexing: params = [None, "warn"] param_names = ["mode"] From b36d8d16d3b03f40a31107e7954345e81aa3c34e Mon Sep 17 00:00:00 2001 From: Quang Nguyen Date: Mon, 13 Nov 2023 21:17:59 +0700 Subject: [PATCH 2/3] add github issue context --- asv_bench/benchmarks/indexing.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/asv_bench/benchmarks/indexing.py b/asv_bench/benchmarks/indexing.py index 3a5be977d36cf..fa0830a6143bc 100644 --- a/asv_bench/benchmarks/indexing.py +++ b/asv_bench/benchmarks/indexing.py @@ -516,6 +516,8 @@ def time_setitem_list(self): class SetitemObjectDtype: + # GH#19299 + def setup(self): N = 1000 cols = 500 From 49ef712530571a4f92298d1f2f004c931ca6bd04 Mon Sep 17 00:00:00 2001 From: Quang Nguyen Date: Tue, 14 Nov 2023 07:22:15 +0700 Subject: [PATCH 3/3] fix minor --- asv_bench/benchmarks/indexing.py | 1 - 1 file changed, 1 deletion(-) diff --git a/asv_bench/benchmarks/indexing.py b/asv_bench/benchmarks/indexing.py index fa0830a6143bc..8058b347383a7 100644 --- a/asv_bench/benchmarks/indexing.py +++ b/asv_bench/benchmarks/indexing.py @@ -522,7 +522,6 @@ def setup(self): N = 1000 cols = 500 self.df = DataFrame(index=range(N), columns=range(cols), dtype=object) - self.df = DataFrame(np.random.rand(N, cols)) def time_setitem_object_dtype(self): self.df.loc[0, 1] = 1.0