在标题中,我有超过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")
答案 0 :(得分:1)
我通常会创建一个框架列表,然后使用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)
答案 1 :(得分:0)
你需要每个标题吗?如果不是,将它们全部转换为numpy数组然后使用numpy.append功能然后将文件转换回csv文件可能会更快。