在Deedle中选择“特定行”
本文关键字:特定行 Deedle 选择 | 更新日期: 2023-09-27 17:59:41
我有一个名为df的deedle数据帧,其中一列名为TimeSpent
。
我希望保留TimeSpent
的值大于特定TimeSpan(例如30分钟)的行。我只能通过使用FilterRowsBy()
来保留具有特定TimeSpan (30 min)
的行
df = df.FilterRowsBy<int, string, TimeSpan>("TimeSpent", new TimeSpan(0, 30, 0));
如何过滤特定范围内的数据帧?
更新:所以,我决定先尝试按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));