我有一个名为df的原始数据框,其中的一列名为TimeSpent
。
我想保留TimeSpent
的值大于特定TimeSpan(例如30分钟)的行。
我只能通过使用TimeSpan (30 min)
将行保留为特定的FilterRowsBy()
df = df.FilterRowsBy<int, string, TimeSpan>("TimeSpent", new TimeSpan(0, 30, 0));
如何过滤一定范围内的小数据帧?
更新:因此,我决定尝试先按
TimeSpan
对小帧进行排序,然后对其进行切片。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));
关于c# - 选择Deedle中的特定行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31060305/