我在fsharp中有一个带有45列的Deedle框架,其中每列都包含浮动。我想通过对原始帧中的每个条目应用变换来创建新帧。转换的简单功能如下:
let minusLogOfOneLess x = -log (1.0-x)
有一种简单的方法吗?
答案 0 :(得分:3)
在向Deedle帧添加运算符时,我们似乎错过了一元减运算符!除了一元减号,其余的实际上已经有效了。
因此,您只需将-log(...)
更改为-1.0 * log(...)
:
let minusLogOfOneLess (x:Frame<_, _>) = -1.0 * (log (1.0 - x))
frame [ "A" => series [1=>0.5; 2=>0.4]]
|> minusLogOfOneLess