Dataframe 对Deedle数据帧的子数据帧进行切片的最佳方法是什么?

Dataframe 对Deedle数据帧的子数据帧进行切片的最佳方法是什么?,dataframe,f#,slice,deedle,Dataframe,F#,Slice,Deedle,我能够通过两种方式对Deedle数据帧的子数据帧进行切片: a) 使用df.rows.After提取行,然后使用Frame.ofRows b) 使用Frame.filterRows 但是,只编写df.[someDate..]会更整洁,但这会产生错误。请参阅下面的代码 通过切片数据帧行的连续子集来复制/更新数据帧的最佳方法是什么 open Deedle let dates = [ DateTime(2013,1,1); DateTime(2013,1,4); Date

我能够通过两种方式对
Deedle数据帧的子数据帧进行切片:

a) 使用
df.rows.After
提取行,然后使用
Frame.ofRows

b) 使用
Frame.filterRows

但是,只编写
df.[someDate..]
会更整洁,但这会产生错误。请参阅下面的代码

通过切片数据帧行的连续子集来复制/更新数据帧的最佳方法是什么

open Deedle

let dates  = 
  [ DateTime(2013,1,1); 
    DateTime(2013,1,4); 
    DateTime(2013,1,8) ]

let values = [ 10.0; 20.0; 30.0 ]

let first = Series(dates, values)
let second = Series(dates, List.map (fun x -> x * 5.0) values) 

let df1 = Frame(["first"; "second"], [first; second])

let someDate = DateTime(2013,1,5)

let df2 = Frame.ofRows (df1.Rows.After someDate)
// Ok, a one-row DataFrame

let f firstDate (dt: DateTime) (x: ObjectSeries<string>) = (dt > firstDate)
let df3 = Frame.filterRows (f someDate) df1
// Ok, a one-row DataFrame

let df4 = df1.[someDate..]
// error FS0039: The field, constructor or member 'GetSlice' is not defined.
opendeedle
让日期=
[日期时间(2013年1月1日);
日期时间(2013年1月4日);
日期时间(2013年1月8日)]
让值=[10.0;20.0;30.0]
let first=系列(日期、值)
让第二个=系列(日期,List.map(乐趣x->x*5.0)值)
设df1=Frame([“first”;“second”],[first;second])
让someDate=DateTime(2013,1,5)
设df2=Frame.ofRows(df1.Rows.After someDate)
//好的,一行数据帧
设f firstDate(dt:DateTime)(x:ObjectSeries)=(dt>firstDate)
设df3=Frame.filterRows(f someDate)df1
//好的,一行数据帧
设df4=df1。[someDate..]
//错误FS0039:未定义字段、构造函数或成员“GetSlice”。

您可以在
df1.Rows
df1.Columns
上使用切片语法。即使对于大多数事情(包括您可以在
之后对它们调用
的事实),它们在您通过切片使用它们时返回一个新的数据帧

以下内容应完全满足您的需要:

let df4 = df1.Rows.[someDate..]

您可以在
df1.Rows
df1.Columns
上使用切片语法。即使对于大多数事情(包括您可以在
之后对它们调用
的事实),它们在您通过切片使用它们时返回一个新的数据帧

以下内容应完全满足您的需要:

let df4 = df1.Rows.[someDate..]

正是我需要的。谢谢,正是我需要的。谢谢