我是F#的新手,想要将我的代码转换为输出deedle数据帧,甚至将输出数组转换为数据框。
let GetDataBitstamp() =
async {
let! csv = sprintf "http://api.bitcoincharts.com/v1/trades.csv?symbol=bitstampUSD" |> fetch
return
[|
for row in csv.Split([|'\n'|], StringSplitOptions.RemoveEmptyEntries) do
match row.Split([|','|]) with
| [|d; p; v |]-> yield (d,p)
| _ -> yield! [||]
|] |> Map.ofArray
} |> Async.RunSynchronously
答案 0 :(得分:1)
您可以使用
直接从CSV文件构建deedle数据框Frame.ReadCsv("csvPath")
答案 1 :(得分:1)
我找到了一个适合我的解决方案,请参阅下面的代码:
module may =
let simples() =
let time,price =Map.toArray(Bitcharts.GetDataBitstamp())|> Array.unzip
time, price
下一步是将时间,价格数组放入数据系列:
let df1 : Frame<int, string> = frame[]
let d,a = may.simples()
df1.AddSeries("ts",d)
df1.AddSeries("price",a)