熊猫:合并多个非常大的数据帧(太慢)

时间:2020-05-21 05:54:59

标签: python pandas dataframe merge

我有100个文件要合并,每个文件有1亿行以索引为键。每个列的数量仅为2。 我曾尝试使用pandas来将它们合并在一起,但似乎加入或合并超过一千万行的dataframe非常慢。 还有其他将数据组合在一起的有效方法吗?内存不是问题,我正在使用256GB内存服务器。

filenames = ['fn1', 'fn2', 'fn3', 'fn4',....]
dfs = [pd.read_csv(filename, index_col=index_col) for filename in filenames)]
dfs[0].join(dfs[1:])

我放弃了使用pandas合并数据。相反,我使用了hash table来组合数据并将数据转换为Dataframe

1 个答案:

答案 0 :(得分:0)

尝试将读取的CSV馈送到pd.concat(),可能会更快:

filenames = ['fn1', 'fn2', 'fn3', 'fn4',....]
df = pd.concat([pd.read_csv(filename, index_col=index_col) for filename in filenames)], axis=1)