Select Deedle 中的特定行
Select Specific Rows in Deedle
我有一个 deedle 数据框,称为 df,其中一列名为 TimeSpent
。
我想保留 TimeSpent
值大于特定时间跨度(例如 30 分钟)的行。
我只能设法通过使用 FilterRowsBy()
来保留具有特定 TimeSpan (30 min)
的行
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>
,但我不知道如何操作。
在 TimeSpan
创建新索引后,我最终使用 linq 对数据框进行排序。
Frame<TimeSpan, string> dfResult =
df.IndexRows<TimeSpan>("TimeSpent")
.Where(kvp => kvp.Key > new Timespan(0, 20, 0));
我有一个 deedle 数据框,称为 df,其中一列名为 TimeSpent
。
我想保留 TimeSpent
值大于特定时间跨度(例如 30 分钟)的行。
我只能设法通过使用 FilterRowsBy()
TimeSpan (30 min)
的行
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>
,但我不知道如何操作。
在 TimeSpan
创建新索引后,我最终使用 linq 对数据框进行排序。
Frame<TimeSpan, string> dfResult =
df.IndexRows<TimeSpan>("TimeSpent")
.Where(kvp => kvp.Key > new Timespan(0, 20, 0));