Deedle series.ValuesAll raise Error: OptionalValue.Value: Value is not available

Deedle series.ValuesAll raise Error: OptionalValue.Value: Value is not available

根据doco的Deedle系列的ValuesAll函数是

Returns a collection of values, including possibly missing values. Note that the length of this sequence matches the `Keys` sequence.

但是以下代码会引发错误 OptionalValue.Value:不可用。这是预期的行为吗?我期待 ValuesAll 可以 return double.nan

#I "..\..\packages\Deedle.1.2.4"
#load "Deedle.fsx"
open System
open System.Globalization
open System.Collections.Generic
open Deedle

let ts = [DateTime.Now.Date => Double.NaN; DateTime.Now.Date.AddDays(1.0) => 1.0] |> series
ts.Print()
ts.ValuesAll
> 
27/01/16 12:00:00 AM -> <missing> 
28/01/16 12:00:00 AM -> 1         


val ts : Series<DateTime,float> =

27/01/16 12:00:00 AM -> <missing> 
28/01/16 12:00:00 AM -> 1         

val it : seq<float>

> ts.ValuesAll
;;
val it : seq<float> = Error: OptionalValue.Value: Value is not available
> 

valuesAllhere and C#-friendly ValuesAll here有不同的实现。后者只是访问可选值.Value 属性,它的签名是seq<float>,而不是seq<float opt>。此处的实现或文档不一致。

当我使用 Deedle 时,我使用 |> Series.dropMissing 过滤系列作为我只需要当前值时的快速解决方法。