格式内置类型,用于朝deedle的漂亮打印



我明白,要打印出诸如deedle中的歧视工会之类的漂亮东西,您必须覆盖ToString()。但是内置类型(例如float)呢?

具体来说,我希望将漂浮物以百分比显示在一列中,或者至少没有超过十进制的数字。

有没有办法做到这一点?

没有内置的支持 - 这听起来像是一个有用的补充,因此,如果您想为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)

这创建了一个新框架,其中使用格式函数sprintf "%f%%" (v*100.0)进行了名为A的所有float值,其余的都保持不变。

最新更新