Форматирование встроенных типов для красивой печати в Deedle
Я понимаю, что для того, чтобы красиво печатать такие вещи, как дискриминированные союзы в Deedle, вы должны переопределить ToString()
, Но как насчет встроенных типов, как float
?
В частности, я хочу, чтобы значения с плавающей точкой в одном столбце отображались в процентах или, по крайней мере, не имели миллиона цифр после запятой.
Есть ли способ сделать это?
1 ответ
Для этого нет встроенной поддержки - это звучит как полезное дополнение, поэтому, если вы хотите поделиться этим с Deedle, пожалуйста, откройте вопрос, чтобы обсудить это! Мы будем рады принять запрос на добавление, который добавляет эту функцию.
Как обходной путь, я думаю, что ваш лучший шанс - преобразовать данные в кадре перед печатью. Нечто подобное должно сработать:
let df = frame [ "A" => series [ 1 => 0.001 ] ]
df |> Frame.map (fun r c (v:float) ->
if c = "A" then box (sprintf "%f%%" (v*100.0)) else box v)
Это создает новый кадр, где все float
значения столбца с именем A
преобразуются с помощью функции форматирования sprintf "%f%%" (v*100.0)
а остальное осталось без изменений.