Skip to content

Commit

Permalink
ASV: benchmark for DataFrame.Update (#58228)
Browse files Browse the repository at this point in the history
  • Loading branch information
aureliobarbosa authored Apr 15, 2024
1 parent f30ebb6 commit 888b6bc
Showing 1 changed file with 24 additions and 0 deletions.
24 changes: 24 additions & 0 deletions asv_bench/benchmarks/frame_methods.py
Original file line number Diff line number Diff line change
Expand Up @@ -862,4 +862,28 @@ def time_last_valid_index(self, dtype):
self.df.last_valid_index()


class Update:
def setup(self):
rng = np.random.default_rng()
self.df = DataFrame(rng.uniform(size=(1_000_000, 10)))

idx = rng.choice(range(1_000_000), size=1_000_000, replace=False)
self.df_random = DataFrame(self.df, index=idx)

idx = rng.choice(range(1_000_000), size=100_000, replace=False)
cols = rng.choice(range(10), size=2, replace=False)
self.df_sample = DataFrame(
rng.uniform(size=(100_000, 2)), index=idx, columns=cols
)

def time_to_update_big_frame_small_arg(self):
self.df.update(self.df_sample)

def time_to_update_random_indices(self):
self.df_random.update(self.df_sample)

def time_to_update_small_frame_big_arg(self):
self.df_sample.update(self.df)


from .pandas_vb_common import setup # noqa: F401 isort:skip

0 comments on commit 888b6bc

Please sign in to comment.