2

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

我想保留值TimeSpent大于特定时间跨度(例如 30 分钟)的行。我只能设法TimeSpan (30 min)通过使用来保持特定的行FilterRowsBy()

df = df.FilterRowsBy<int, string, TimeSpan>("TimeSpent", new TimeSpan(0, 30, 0));

你如何过滤某个范围的deedle数据框?

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

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

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

4

1 回答 1

0

I ended up using linq to sort the data frame, after creating a new index by TimeSpan.

Frame<TimeSpan, string> dfResult =
    df.IndexRows<TimeSpan>("TimeSpent")
    .Where(kvp => kvp.Key > new Timespan(0, 20, 0));
于 2015-07-17T18:20:54.077 回答