2016-08-01 2 views
2

Пусть dataframe загружается следующим образом:Удалить индекс из Deedle Рама

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 

Как вы превратить dataframe в следующее:

 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 и превращаются в столбец данных ,

ответ

3

Использование F # содружественная Deedle API, вы можете использовать addCol для добавления ключей в новый столбец, а затем вы можете использовать indexRowsOrdinarilly для замены оригинальных ключей с простым числовым индексом:

df 
|> Frame.addCol "Keys" (df |> Frame.mapRows (fun k _ -> k)) 
|> Frame.indexRowsOrdinally 

В качестве альтернативы, первый также можно сделать поэтапно, что немного короче:

f.AddColumn("Keys", f.RowKeys) 
f |> Frame.indexRowsOrdinally 
Смежные вопросы