在Deedle中选择特定行

时间:2015-06-25 20:36:56

标签: c# dataframe deedle

我有一个名为df的deedle数据框,其中一列名为TimeSpent

我想保留行,TimeSpent的值大于特定的TimeSpan(例如30分钟)。 我只能使用TimeSpan (30 min)

设法保留具有特定FilterRowsBy()的行
df = df.FilterRowsBy<int, string, TimeSpan>("TimeSpent", new TimeSpan(0, 30, 0));

如何过滤特定范围的deedle数据框?

更新:所以,我决定首先尝试按TimeSpan对deedle帧进行排序,然后对其进行切片。

Frame<TimeSpan, string> dfTest = df.IndexRows<TimeSpan>("TimeSpent").SortRowsByKey();
var dfTest2 = dfTest.Rows.After(twentyMin);

结果我得到了一个类型为<TimeSpan, ObjectSeries<System.String>>的新数据框,但我需要将此数据框转换为<TimeSpan, String>,我不知道如何。

1 个答案:

答案 0 :(得分:0)

TimeSpan创建新索引后,我最终使用linq对数据框进行排序。

Frame<TimeSpan, string> dfResult =
    df.IndexRows<TimeSpan>("TimeSpent")
    .Where(kvp => kvp.Key > new Timespan(0, 20, 0));