Юлия Конкатенация данных в цикле - PullRequest
0 голосов
/ 27 марта 2019

У меня есть файлы в папке, которые я хочу прочитать сразу, связать и создать новый фрейм данных.

Код:

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 голосов
/ 27 марта 2019

Вы можете использовать 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), но это неРекомендуемый способ выполнения этой операции.

...