2014-09-30 71 views
1

錯誤,我下面的教程:
http://dkowalski.com/blog/archive/2014/01/11/f-deedle-and-computational-investing.aspx
,當我嘗試應用正常化的「股票」框架中的所有列,使用Frame.mapColValues,我得到了以下錯誤消息:

System.InvalidOperationException: OptionalValue.Value: Value is not available in Deedle.OptionalValue``1.get_Value() in c:\Tomas\Public\Deedle\src\Deedle\Common\Common.fs:riga 35 in [email protected](ObjectSeries``1 os) in C:\Users\Bruno-Astarita\Documents\Visual Studio 2013\Projects\TestDeedle02\TestDeedle02\TestTutorial01.fsx:riga 52 in <StartupCode$Deedle>[email protected][K,V,R](Func``3 f, Int32 i, K key, V v) in c:\Tomas\Public\Deedle\src\Deedle\Series.fs:riga 358 in <StartupCode$Deedle>[email protected](Int32 i, Tuple``2 tupledArg) in c:\Tomas\Public\Deedle\src\Deedle\Series.fs:riga 355 in [email protected](b&) in Microsoft.FSharp.Collections.IEnumerator.MapEnumerator``1.System-Collections-IEnumerator-MoveNext() in Microsoft.FSharp.Collections.SeqModule.ToArray[T](IEnumerable``1 source) in Microsoft.FSharp.Collections.ArrayModule.OfSeq[T](IEnumerable``1 source) in Deedle.Series``2.Select[R](Func``3 f) in c:\Tomas\Public\Deedle\src\Deedle\Series.fs:riga 352 in Deedle.Series``2.Select[R](Func``2 f) in c:\Tomas\Public\Deedle\src\Deedle\Series.fs:riga 365 in Deedle.SeriesModule.MapValues[T,R,K](FSharpFunc``2 f, Series``2 series) in c:\Tomas\Public\Deedle\src\Deedle\SeriesModule.fs:riga 451 in <StartupCode$FSI_0046>[email protected]() in C:\Users\Bruno-Astarita\Documents\Visual Studio 2013\Projects\TestDeedle02\TestDeedle02\TestTutorial01.fsx:riga 49 Stopped due to error

我試圖根據FrameModule.fs中的源代碼來找出問題所在的步驟,並且錯誤在指令Series.mapValues f處引發。 我哪裏錯了?
非常感謝。

更新
多次測試之後,這個問題似乎從教程行let firstItem = osAsFloat.GetAt(0)被arised。如果我嘗試用let firstItem = 2.0代替它,一切都可以。仍然不清楚這種行爲。Deedle:使用Frame.mapColValues

回答

0

最後我找到了問題的原因。在框架中的某些系列中,與第一個元素對應的值缺失。如果我不使用這些系列,一切都可以。