Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dataframe F数与多指标_Dataframe_F#_Deedle - Fatal编程技术网

Dataframe F数与多指标

Dataframe F数与多指标,dataframe,f#,deedle,Dataframe,F#,Deedle,我最近开始学习来自简单C和Python的数据科学F。我开始习惯于功能优先的科学范式的力量 然而,对于如何处理一个我可以在Python中使用pandas轻松修复的问题,我仍然感到困惑。它与多指标时间序列/数据帧相关。我已经对Deedle进行了广泛的检查,但我仍然不确定Deedle能否帮助我实现这样一个表格: Column Index 1: A || B Column Index 2: A1 A2 || B1

我最近开始学习来自简单C和Python的数据科学F。我开始习惯于功能优先的科学范式的力量

然而,对于如何处理一个我可以在Python中使用pandas轻松修复的问题,我仍然感到困惑。它与多指标时间序列/数据帧相关。我已经对Deedle进行了广泛的检查,但我仍然不确定Deedle能否帮助我实现这样一个表格:

Column Index 1:           A       ||         B

Column Index 2:    A1        A2   ||    B1       B2

Column Index 3:  p1  p2 |  p1  p2 || p1  p2 | p1  p2

Row Index:
date1           0.5  2. |  2. 0.5 || 3.  0. | 2.   3.

date2          ......
当Index1=A等时,能够对所有p1系列求和的想法

我没有发现使用Deedle的例子

如果不可用,您会推荐我的数据采用什么结构


感谢您帮助一位新手,但却爱上了Deedle中的F

,您可以使用元组作为键创建具有层次索引的框架或系列:

let ts = 
  series
   [ ("A", "A1", "p1") => 0.5 
     ("A", "A1", "p2") => 2.
     ("A", "A2", "p3") => 2. 
     ("A", "A2", "p4") => 0.5 ]
迪德尔对此有一些特殊的处理方法。例如,它将数据输出为:

A A1 p1 -> 0.5 
     p2 -> 2   
  A2 p3 -> 2   
     p4 -> 0.5 
要在层次结构的一部分上应用聚合,可以使用applyLevel函数:

ts |> Series.applyLevel (fun (l1, l2, l3) -> l1) Stats.mean
ts |> Series.applyLevel (fun (l1, l2, l3) -> l1, l2) Stats.mean

第一个参数是一个函数,它获取键的元组并选择要分组的级别的哪一部分-因此,上面两个参数分别在顶部和顶部两个级别上创建聚合。

在Deedle中,可以使用元组作为键创建具有层次索引的帧或序列:

let ts = 
  series
   [ ("A", "A1", "p1") => 0.5 
     ("A", "A1", "p2") => 2.
     ("A", "A2", "p3") => 2. 
     ("A", "A2", "p4") => 0.5 ]
迪德尔对此有一些特殊的处理方法。例如,它将数据输出为:

A A1 p1 -> 0.5 
     p2 -> 2   
  A2 p3 -> 2   
     p4 -> 0.5 
要在层次结构的一部分上应用聚合,可以使用applyLevel函数:

ts |> Series.applyLevel (fun (l1, l2, l3) -> l1) Stats.mean
ts |> Series.applyLevel (fun (l1, l2, l3) -> l1, l2) Stats.mean

第一个参数是一个函数,它获取键的元组并选择要分组的级别的哪一部分-因此,上面两个参数分别在顶部和顶部两个级别上创建聚合。

非常感谢,这正是我希望实现的。非常感谢,这正是我希望实现的