PERF: Avoid Series constructor in DataFrame(dict(...), columns=) by mroeschke · Pull Request #57205 · pandas-dev/pandas (original) (raw)
import pandas as pd, numpy as np a = pd.Series(np.array([1, 2, 3])) columns = range(10_000) data = {i: a for i in columns} %timeit pd.DataFrame(data, columns=columns)
51.3 ms ± 96 µs per loop (mean ± std. dev. of 7 runs, 10 loops each) # PR 102 ms ± 1.8 ms per loop (mean ± std. dev. of 7 runs, 10 loops each) # main
In [1]: import pandas as pd
In [2]: %timeit pd.DataFrame([], columns=['a']) 37.3 µs ± 231 ns per loop (mean ± std. dev. of 7 runs, 10,000 loops each) # PR 183 µs ± 584 ns per loop (mean ± std. dev. of 7 runs, 10,000 loops each) # main