我在fsharp中有一个45列的Deedle框架,其中每列都包含浮动。我想创建一个新的框架通过对原始框架中的每个元素应用变换。转换是如下的简单函数:
let minusLogOfOneLess x = -log (1.0-x)
是否有简单的方法来做到这一点?
看起来我们在给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