Я пользователь R
с большим интересом к Julia
и очень хочу перейти на Julia
в долгосрочной перспективе.Я искал большой файл CSV в Интернете, нашел этот веб-сайт правительства США и загрузил набор данных College Scorecard
.Я попытался прочитать файл 'csv' в Juno
с помощью следующей команды:
using CSV
using DataFrames
@time df = CSV.read("/Path/to/Most-Recent-Cohorts-Scorecard-Elements.csv", rows_for_type_detect = 7175);
Я получил следующий вывод:
212.333866 seconds (43.84 M allocations: 2.244 GiB, 0.25% gc time)
Я вставил строку rows_for_type_detect = 7175
, потому чтов противном случае я получаю сообщение об ошибке, не могу открыть файл.См. этот другой вопрос , почему это может произойти
При выполнении той же операции в R
с
start_time <- Sys.time()
df_try = read.csv("/Path/to/Most-Recent-Cohorts-Scorecard-Elements.csv")
end_time <- Sys.time()
end_time - start_time
я получаю следующий вывод
Time difference of 0.3337972 secs
Есть ли способ более эффективно читать большие кадры данных в Julia
?
ОСНОВНОЕ РЕДАКТИРОВАНИЕ
Как указывает @ BogumiłKamiński, это различие между R
и Julia
для этой конкретной задачи БОЛЬШО УМЕНЬШАЕТСЯ при использовании новейших версий Julia
и CSV
.Поэтому, пожалуйста, прочитайте мое сообщение выше (которое я, честно говоря, не решался просто удалить) со значительной долей соли и прочитайте комментарий Bogumił Kamiński!И большое спасибо всем разработчикам, которые тратят свое свободное время на создание и совершенствование замечательного языка, такого как Julia
бесплатно!
РЕДАКТИРОВАТЬ N ° 2
теперь при выполнении
@time df = CSV.read(joinpath("/path/to/file.csv"))
Вот результат
0.184593 seconds (223.44 k allocations: 5.321 MiB)
Brilliant!Спасибо @ Bogumił Kamiński!