从 Deedle Frame 中删除索引
Remove index from Deedle Frame
假设像这样加载数据帧:
let fr = Frame.ReadCsv("somedata.txt", hasHeaders=true, separators="\t")
|> Frame.indexRowsDate "Datetime"
它的输出看起来像这样:
Open High Low Close
5/14/2015 7:02:00 AM -> 21.00000 21.01000 21.00000 21.01000
5/14/2015 7:03:00 AM -> 22.01000 22.01000 22.93000 22.9500
如何将数据帧转换为以下内容:
Datetime Open High Low Close
0 -> 5/14/2015 7:02:00 AM 21.00000 21.01000 21.00000 21.01000
1 -> 5/14/2015 7:03:00 AM 22.01000 22.01000 22.93000 22.9500
基本上,索引是如何从 deedle 数据帧中删除并变成数据帧的列的。
使用 F#-friendly Deedle API,您可以使用 addCol
将键添加为新列,然后您可以使用 indexRowsOrdinarilly
将原始键替换为纯数字指数:
df
|> Frame.addCol "Keys" (df |> Frame.mapRows (fun k _ -> k))
|> Frame.indexRowsOrdinally
或者,第一个也可以命令式完成,这有点短:
f.AddColumn("Keys", f.RowKeys)
f |> Frame.indexRowsOrdinally
假设像这样加载数据帧:
let fr = Frame.ReadCsv("somedata.txt", hasHeaders=true, separators="\t")
|> Frame.indexRowsDate "Datetime"
它的输出看起来像这样:
Open High Low Close
5/14/2015 7:02:00 AM -> 21.00000 21.01000 21.00000 21.01000
5/14/2015 7:03:00 AM -> 22.01000 22.01000 22.93000 22.9500
如何将数据帧转换为以下内容:
Datetime Open High Low Close
0 -> 5/14/2015 7:02:00 AM 21.00000 21.01000 21.00000 21.01000
1 -> 5/14/2015 7:03:00 AM 22.01000 22.01000 22.93000 22.9500
基本上,索引是如何从 deedle 数据帧中删除并变成数据帧的列的。
使用 F#-friendly Deedle API,您可以使用 addCol
将键添加为新列,然后您可以使用 indexRowsOrdinarilly
将原始键替换为纯数字指数:
df
|> Frame.addCol "Keys" (df |> Frame.mapRows (fun k _ -> k))
|> Frame.indexRowsOrdinally
或者,第一个也可以命令式完成,这有点短:
f.AddColumn("Keys", f.RowKeys)
f |> Frame.indexRowsOrdinally