我正在使用 Explorer.DataFrame 将 pandas 脚本翻译为 Elixir。
Explorer.Series.fill_missing/2
,它将处理单个列。
是否有推荐的方法来镜像 pandas'
fillna
,以便整个 DataFrame 的 nil
值将被我提供的任何内容替换?
经过多次尝试和错误,我发现这是可行的。
alias Explorer.DataFrame, as: DF
alias Explorer.Series
fillna = fn val ->
fn n, df ->
DF.mutate_with(df, &%{n => Series.fill_missing(&1[n], val)})
end
end
df
|> DF.names()
|> Enum.reduce(df, fillna.(0.0))