小编wha*_*ayo的帖子

Deedle - 过滤 FilterRowValues 后的加权平均值

我是 F# 新手。我试图在通过两个时间戳和仪器 ID 过滤我的帧后计算加权平均值。

示例数据:

| trade_qty | trade_price | trade_timestamp    | instrument_id 
|  1000     |  100.59     | 1/26/2018 16:00:00 |  1 
|  2000     |  105.10     | 1/26/2018 15:59:30 |  1 
|  3000     |  97.59      | 1/26/2018 15:59:00 |  1 
Run Code Online (Sandbox Code Playgroud)

我发现我可以轻松过滤:例如两次之间的仪器 1

frameVolume
|> Frame.filterRowValues (fun c.GetAs<DateTime>
   ("trade_timestamp)>DateTime(2018,1,27,15,31,0))
|> Frame.filterRowValues (fun c.GetAs<DateTime>
    ("trade_timestamp)<DateTime(2018,1,27,16,00,0))
|> Frame.filterRowValues (fun c.GetAs<int>("instrument_id")=
    1
Run Code Online (Sandbox Code Playgroud)

我被困在这里了。我还没弄清楚如何 1/sum(trade_qty) * Sum(trade_price*trade_qty)

我努力了:

|>Frame.GetColumn<float>("trade_qty") * 
    Frame.GetColumn<float>("trade_price")
Run Code Online (Sandbox Code Playgroud)

对于上下文,我想将其用作要输入到另一个函数中的函数,以便计算几个时间间隔内的加权平均价格。

有什么想法吗?谢谢你!

f# deedle

4
推荐指数
1
解决办法
153
查看次数

标签 统计

deedle ×1

f# ×1