选择Deedle特定的行 [英] Select Specific Rows in Deedle

查看:464
本文介绍了选择Deedle特定的行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个deedle数据帧,称为DF,用指定的列 TimeSpent 之一。

I have a deedle data frame, called df, with one of the columns named TimeSpent.

我想保持行,其中有 TimeSpent 不是特定的时间内(如30分钟),更大的价值。
我只能设法保持行与特定时间内(30分钟)使用 FilterRowsBy()

I would like to keep the rows, which have values for TimeSpent greater than a specific TimeSpan (e.g. 30 minutes). I could only manage to keep the rows with a specific TimeSpan (30 min) by using FilterRowsBy()

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



你如何筛选deedle数据帧在一定范围内?

How do you filter a deedle data frame for a certain range?

更新:所以,我决定尝试排序时间跨度第一deedle框架,然后切片

UPDATE: So, I decided to try to sort the deedle frame by TimeSpan first, and then slice it.

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



而作为一个结果我得到一个新的数据帧是类型<时间跨度,ObjectSeries< System.String>> ,但我需要这个数据帧转换为<时间跨度,字符串> ,而我呢不知道怎么办。

And as a result I get a new data frame that is type <TimeSpan, ObjectSeries<System.String>>, but I need to convert this data frame to <TimeSpan, String>, and I do not know how.

推荐答案

我结束了使用LINQ到数据帧进行排序,由创建一个新索引后,时间跨度

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));

这篇关于选择Deedle特定的行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆