是否有一种优雅的方式一次读取一个文件,进行一些预处理,然后合并为一个大数据帧。
我这样做的方式就在这里。我相信在这里可能还有其他方法可以摆脱变量i
。
i=0
outdf = DataFrame()
for myfile in myfiles:
tdf = read_csv(myfile) #Read
#Do some annotations
tdf['Class'] = os.path.basename(myfile).split[0]
..............
#-----------------
if i == 0:
outdf = tdf
else:
outdf = concat([outdf, tdf])
i = i +1
答案 0 :(得分:3)
您不需要在每次迭代时连接DataFrame,因为concat
可以连接多个DataFrame。只需将每个单独的DataFrame存储在一个列表中,然后在最后进行连接。
outdf = []
for myfile in myfiles:
tdf = read_csv(myfile)
#Do some annotations
tdf['Class'] = os.path.basename(myfile).split[0]
..............
#-----------------
outdf.append(tdf)
outdf = concat(outdf)
答案 1 :(得分:0)
您可以使用枚举。
outdf = DataFrame()
for i, myfile in enumerate(myfiles):
tdf = read_csv(myfile)
tdf['Class'] = os.path.basename(myfile).split[0]
if i == 0:
outdf = tdf
else:
outdf = concat([outdf, tdf])