Is there a better way to format each individual columns in a dataframe?

With PrettyTables, it may be written like this:

using DataFrames, PrettyTables

df = DataFrame(rand(5,4), [:foo, :bar, :baz, :qux])

dic = Dict([:foo, :bar, :baz, :qux] .=> ["%0.1f", "%0.2f", "%0.2f dB", "%0.1f%%"])
d = Dict(Symbol.(names(df)) .=> 1:ncol(df))

pretty_table(df, formatters = ft_printf(collect(values(dic)), getindex.(Ref(d), keys(dic))))
2 Likes