将数百个数据文件组合成一个主DataFrame的有效方法是什么



如标题所示,我有800多个数据文件(均以.csv格式)(每个文件的大小约为0-5MB,每个文件包含10列,第一行为标题),我想将所有这些文件合并为一个DataFrame。我可以使用Pandas数据帧一个接一个地附加它们,但这非常耗时。

有没有更快的方法?

我的代码:

fname = "CRANlogs/" + ffiles[0]
df = pandas.read_csv(fname,header=0)
for i in range(807)[1:]:
    print(i)
    fname = "CRANlogs/" + ffiles[i]
    temp = pandas.read_csv(fname,header=0)
    df = pandas.merge(df,temp,how="outer")

我通常创建一个帧列表,然后使用pandas concat()

frames = [] 
for i in range(807):    
    fname = "CRANlogs/" + ffiles[i]
    temp = pandas.read_csv(fname,header=0)
    frames.append(temp)
#and now concat
df = pd.concat(frames)

您需要每一个的标题吗?如果没有,将它们全部转换为numpy数组,然后使用numpy.append功能,然后将文件转换回csv文件可能会更快。

最新更新