如何在julia中为数据帧上的每个日期时间x轴追加零值

如何在julia中为数据帧上的每个日期时间x轴追加零值,julia,Julia,我想画一个数据,但它的x轴是时间,对于每半小时缺少的值,我希望填充零 using CSV, DataFrames, Dates s="ts, v 2020-01-01T01:00:00, 3 2020-01-01T04:00:00, 6 2020-01-01T05:00:00, 1" d=CSV.read(IOBuffer(s)) 我希望像d2一样扩展d s2="ts, v 2020-01-01T01:00:00, 3 2020-01-01T01:30:00, 0 2020-01-01T02:

我想画一个数据,但它的x轴是时间,对于每半小时缺少的值,我希望填充零

using CSV, DataFrames, Dates
s="ts, v
2020-01-01T01:00:00, 3
2020-01-01T04:00:00, 6
2020-01-01T05:00:00, 1"
d=CSV.read(IOBuffer(s))
我希望像d2一样扩展d

s2="ts, v
2020-01-01T01:00:00, 3
2020-01-01T01:30:00, 0
2020-01-01T02:00:00, 0
2020-01-01T02:30:00, 0
2020-01-01T03:00:00, 0
2020-01-01T03:30:00, 0
2020-01-01T04:00:00, 6
2020-01-01T04:30:00, 0
2020-01-01T05:00:00, 1"
d2=CSV.read(IOBuffer(s2))

我可能会这样做:

# Create half-hourly data frame with zeros from first to last observation
julia> df = DataFrame(ts = minimum(d.ts):Minute(30):maximum(d.ts), v_filled = 0);

# Join the existing observations onto this dataframe
julia> df = join(df, d, on = :ts, kind = :left);

# Replace zeros with observations where available
julia> df[.!ismissing.(df.v), :v_filled]  = df[.!ismissing.(df.v), :v];
julia> df

9×3 DataFrame
│ Row │ ts                  │ v_filled │ v       │
│     │ DateTime            │ Int64    │ Int64⍰  │
├─────┼─────────────────────┼──────────┼─────────┤
│ 1   │ 2020-01-01T01:00:00 │ 3        │ 3       │
│ 2   │ 2020-01-01T01:30:00 │ 0        │ missing │
│ 3   │ 2020-01-01T02:00:00 │ 0        │ missing │
│ 4   │ 2020-01-01T02:30:00 │ 0        │ missing │
│ 5   │ 2020-01-01T03:00:00 │ 0        │ missing │
│ 6   │ 2020-01-01T03:30:00 │ 0        │ missing │
│ 7   │ 2020-01-01T04:00:00 │ 6        │ 6       │
│ 8   │ 2020-01-01T04:30:00 │ 0        │ missing │
│ 9   │ 2020-01-01T05:00:00 │ 1        │ 1       │