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 FSI_0046.normalized@52-8.Invoke(ObjectSeries``1 os) in C:\Users\Bruno-Astarita\Documents\Visual Studio 2013\Projects\TestDeedle02\TestDeedle02\TestTutorial01.fsx:riga 52 in <StartupCode$Deedle>.$Series.f@257-13[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>.$Series.newVector@354-1.Invoke(Int32 i, Tuple``2 tupledArg) in c:\Tomas\Public\Deedle\src\Deedle\Series.fs:riga 355 in Microsoft.FSharp.Collections.IEnumerator.mapi@129.DoMoveNext(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>.$FSI_0046.main@() 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)教程中的行引起的。如果我尝试用一​​切代替它就可以了let firstItem = 2.0。我仍然不清楚这种行为。

4

1 回答 1

0

最后我找到了问题的原因。在框架中的某些系列中,对应于第一个元素存在缺失值。如果我不使用那些系列,一切都很好。

于 2014-10-26T14:48:50.360 回答