BUG: df.loc setitem-with-expansion with duplicate index by jbrockmendel · Pull Request #40096 · pandas-dev/pandas (original) (raw)
N = 10
In [5]: %timeit arr = np.asarray(list(range(N)) + [1], dtype=np.intp)
2.52 µs ± 110 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
In [6]: %timeit arr = np.arange(N + 1); arr[-1] = -1
533 ns ± 11 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
N = 10**6
In [8]: %timeit arr = np.arange(N + 1); arr[-1] = -1
397 µs ± 24 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
In [9]: %timeit arr = np.asarray(list(range(N)) + [1], dtype=np.intp)
98.6 ms ± 437 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)