Concat同一系列多次?

时间:2015-08-12 14:53:16

标签: pandas

让我们说我有一系列的

import pandas as pd
a = pd.Series([1, 2, 3])

是否有更有效的方法来创建百万行df而不是

chamillion_row_df = pd.concat([a] * 1000000)

1 个答案:

答案 0 :(得分:2)

您可以使用np.tile

pd.Series(np.tile(a.values, 1000000))

这比将临时列表构建为pd.concat

的参数要快得多

<强>定时

In [42]:
%timeit pd.Series(np.tile(a.values, 1000000))
%timeit pd.concat([a] * 1000000)

100 loops, best of 3: 17.7 ms per loop
1 loops, best of 3: 16.9 s per loop

所以使用np.tile

只能快〜1000倍