Я пытаюсь понять, как DataFrames работают в Джулии, и у меня трудное время.
Обычно я работал с DataFrames - в Python - добавляя новые столбцы на каждом этапе моделирования и заполняя каждую строкузначения.
Например, у меня есть этот DataFrame, который содержит входные данные:
using DataFrames
df = DataFrame( A=Int[], B=Int[] )
push!(df, [1, 10])
push!(df, [2, 20])
push!(df, [3, 30])
Теперь предположим, что я делаю вычисления на основе тех столбцов A
и B
, которые генерируюттретий столбец C
с объектами DateTime.Но объекты DateTime генерируются не для всех строк, они могут быть нулевыми.
- Как этот вариант использования обрабатывается в Julia?
- Как создать новый столбец C и присвоить значениявнутри
for r in eachrow(df)
?
# Pseudocode of what I intend to do
df[! :C] .= nothing
for r in eachrow(df)
if condition
r.C = mySuperComplexFunctionThatReturnsDateTimeForEachRow()
else
r.C = nothing
end
end
Чтобы дать работоспособный и конкретный код, давайте подставим условие и функцию:
df[! :C] .= nothing
for r in eachrow(df)
if r.A == 2
r.C = Dates.now()
else
r.C = nothing
end
end