熊猫'连接性能

时间:2017-03-02 12:43:42

标签: python pandas

我正在从同一个表中加载数据,但它非常大。 1百万加上记录。我认为创建250,000的块会更好,所以我得到了4个DataFrame。

frames = []
for chunk in chunks(some_very_large_list, 250000):
   frames.append(pd.DataFrame(data=chunk, columns=['A', 'B', 'C']))

当我致电pd.concat(frames)时,将所有内容合并在一起需要花费很长时间。加快这一过程的最佳方法是什么?

2 个答案:

答案 0 :(得分:0)

您可以尝试的两件事情,可能会有所帮助,也可能没有帮助:

  1. 为大数据预分配内存,并将每个块放在其位置。
  2. 使用2d numpy数组(如果可能)并将所有内容传输到数据帧之后。

答案 1 :(得分:0)

对于我的情况,似乎与你的情况类似,我发现的最好的方法是使用追加功能:

dataframe = pd.DataFrame()

dataframe.append(frames,ignore_index = True)

相关问题