(self)
| 166 | |
| 167 | class WideToLong: |
| 168 | def setup(self): |
| 169 | nyrs = 20 |
| 170 | nidvars = 20 |
| 171 | N = 5000 |
| 172 | self.letters = list("ABCD") |
| 173 | yrvars = [ |
| 174 | letter + str(num) |
| 175 | for letter, num in product(self.letters, range(1, nyrs + 1)) |
| 176 | ] |
| 177 | columns = [str(i) for i in range(nidvars)] + yrvars |
| 178 | self.df = DataFrame(np.random.randn(N, nidvars + len(yrvars)), columns=columns) |
| 179 | self.df["id"] = self.df.index |
| 180 | |
| 181 | def time_wide_to_long_big(self): |
| 182 | wide_to_long(self.df, self.letters, i="id", j="year") |