Julia在循环中串联数据帧

时间:2019-03-27 18:05:49

标签: loops dataframe concatenation julia

我的文件夹中有一些文件,我想一次全部读取,绑定并制作新的数据框。

代码:

using CSV, DataFrames

path="somepath"

files=readdir(path)

d=DataFrame()

for file=files

    x=CSV.read(file)

    d=vcat(d,x)

end

产生:

Error: UndefVarError: d not defined

1 个答案:

答案 0 :(得分:0)

在这种情况下,您可以使用append!(允许这种方法的更改已经掌握,但尚未发布):

d=DataFrame()
for file=files
    append!(d, CSV.read(file))
end

或者,如果您想使用vcat(此选项将使用更多的内存):

reduce(vcat, [CSV.read(file) for file in files])

原始代码应重写为:

d=DataFrame()
for file=files
    x=CSV.read(file)
    global d=vcat(d,x)
end

(在global前面注意d),但这不是执行此操作的推荐方法。