F#Deedle使用String.Contains过滤数据框

时间:2014-03-28 15:01:24

标签: string f# contains deedle

我有一个看起来像这样的数据框

          Date                        Type   last  LastSize       
12    -> 2013-10-25T00:00:00.575556Z  trade 273  20     
13    -> 2013-10-25T00:00:00.575556Z  quote 0    0       
:         ...                         ...    ...   ...      
26554 -> 2013-10-25T06:04:59.741493Z  trade 273  2       
26555 -> 2013-10-25T06:04:59.751844Z  trade 273  8  

我想根据标记为Type的字段进行过滤。具体来说,我想过滤数据框,只包含列Type 包含字符串“trade”的行。

let tradesOnly = lastFrame.GetSeries<string>("Type")
                |> Series.filterValues (fun t -> t.Contains "trade")

这会正确过滤,但只会在我使用GetSeries时给出系列。 Deedle样本包括一个类似于此的片段

let x = lastFrame.RowsDense 
        |> Series.filterValues (fun row -> row.GetAs<string>("Type") = "trade")
        |> Series.countValues

这会编译但返回一个空数据框,因为我需要contains而不是equals。如何按字符串过滤帧包含? `

1 个答案:

答案 0 :(得分:2)

row.GetAs<string>("Type").Contains("trade")应该这样做。