update df in amtrak

This commit is contained in:
Kyle Belanger 2024-08-12 10:03:41 -04:00
parent db7d7f1055
commit 819543626c

View file

@ -47,17 +47,20 @@ end
mod_df = @chain df begin mod_df = @chain df begin
@rsubset :act_dp != "" && :s_disrupt != "SD" @rsubset :act_dp != "" && :s_disrupt != "SD"
@select Not(:s_disrupt, :cancellations) @select :station :comments
@rtransform _ begin
#can't perform match if there is nothing there #can't perform match if there is nothing there
:delay = if occursin(r"Dp:", :comments) match(r"Dp:.*", :comments).match else "" end @rtransform :delay = if occursin(r"Dp:", :comments) match(r"Dp:.*", :comments).match else "" end
end @rtransform :min = if occursin(r"min", :delay) match(r"[0-9]* min", :delay).match |>
x -> parse(Int,match(r"[0-9]*", x).match) else Int(0) end
@rtransform :hour = if occursin(r"hr", :delay) match(r"[1-9]* hr", :delay).match |>
x -> parse(Int,match(r"[1-9]*", x).match) |> x -> x*60 else Int(0) end
@rtransform :total_delay_mins = :min + :hour
end end
gd = @by mod_df :station begin gd = @by mod_df :station begin
mean = Statistics.mean(:delay) :mean = Statistics.mean(:total_delay_mins)
median = Statistics.median(:delay) :median = Statistics.median(:total_delay_mins)
end end