| 28 | |
| 29 | class ToDataFrame: |
| 30 | def setup(self, *args, **kwargs): |
| 31 | xp = kwargs.get("xp", np) |
| 32 | nvars = kwargs.get("nvars", 1) |
| 33 | random_kws = kwargs.get("random_kws", {}) |
| 34 | method = kwargs.get("method", "to_dataframe") |
| 35 | |
| 36 | dim1 = 10_000 |
| 37 | dim2 = 10_000 |
| 38 | |
| 39 | var = xr.Variable( |
| 40 | dims=("dim1", "dim2"), data=xp.random.random((dim1, dim2), **random_kws) |
| 41 | ) |
| 42 | data_vars = {f"long_name_{v}": (("dim1", "dim2"), var) for v in range(nvars)} |
| 43 | |
| 44 | ds = xr.Dataset( |
| 45 | data_vars, coords={"dim1": np.arange(0, dim1), "dim2": np.arange(0, dim2)} |
| 46 | ) |
| 47 | self.to_frame = getattr(ds, method) |
| 48 | |
| 49 | def time_to_dataframe(self): |
| 50 | self.to_frame() |