我有以下变量:
data:seq<(DateTime*float)>
我想做类似下面的 F# 代码,但使用 Deedle:
data
|> Seq.groupBy (fun (k,v) -> k.Year)
|> Seq.map (fun (k,v) ->
let vals = v |> Seq.pairwise
let first = seq { yield v |> Seq.head }
let diffs = vals |> Seq.map (fun ((t0,v0),(t1,v1)) -> (t1, v1 - v0))
(k, diffs |> Seq.append first))
|> Seq.collect snd
使用 F# 序列可以正常工作,但我想使用 Deedle 系列。我知道我可以做类似的事情:
(data:Series<DateTime*float>) |> Series.groupBy (fun k v -> k.Year)...
但是然后我需要采用组内的差异,除了头部值应该只是值本身,然后将结果扁平化成系列......我对 deedle 语法有点困惑
谢谢!