C# 截断/删除帧中的前x行

C# 截断/删除帧中的前x行,c#,deedle,C#,Deedle,我有一个由OHLCV数据组成的框架。我正在计算该框架的技术分析指标,因为最初的几条记录并不准确,因为一开始就有,所以我必须删除它们。我该怎么做 公共覆盖帧填充指示器(帧数据帧) { var candles=dataFrame.Rows.Select(kvp=>newcandle { Timestamp=kvp.Value.GetAs(“Timestamp”), Open=kvp.Value.GetAs(“Open”), 高=kvp.Value.GetAs(“高”), 低=kvp.Value.Ge

我有一个由OHLCV数据组成的
框架
。我正在计算该框架的技术分析指标,因为最初的几条记录并不准确,因为一开始就有,所以我必须删除它们。我该怎么做

公共覆盖帧填充指示器(帧数据帧)
{
var candles=dataFrame.Rows.Select(kvp=>newcandle
{
Timestamp=kvp.Value.GetAs(“Timestamp”),
Open=kvp.Value.GetAs(“Open”),
高=kvp.Value.GetAs(“高”),
低=kvp.Value.GetAs(“低”),
Close=kvp.Value.GetAs(“Close”),
音量=kvp.Value.GetAs(“音量”)
}).Observations.Select(e=>e.Value).ToList();
//TODO:截断/删除前50行
dataFrame.AddColumn(“Rsi”,烛光.Rsi(14));
}

Deedle中的大多数操作都是用行键表示的,而不是索引。这背后的想法是,如果使用ordederd数据,应该有一些有序的行键

这意味着基于行键更容易做到这一点。但是,如果您有一个有序的行索引,您可以在某个位置获取一个键,然后使用它在
Where
中进行筛选。我想尝试一下:

var firstKey = dataFrame.GetRowKeyAt(50);
var after50 = dataFrame.Where(kvp => kvp.Key > firstKey);

Deedle中的大多数操作都是用行键表示的,而不是索引。这背后的想法是,如果使用ordederd数据,应该有一些有序的行键

这意味着基于行键更容易做到这一点。但是,如果您有一个有序的行索引,您可以在某个位置获取一个键,然后使用它在
Where
中进行筛选。我想尝试一下:

var firstKey = dataFrame.GetRowKeyAt(50);
var after50 = dataFrame.Where(kvp => kvp.Key > firstKey);

dataFrame.Rows.Skip(50)。选择(…)
对你有用吗?@KlausGütter,谢谢你的评论<代码>行序列没有定义
跳过
。不过,感谢您的想法,我可以在将数组添加到帧之前跳过它。是否
dataFrame.Rows.Skip(50)。选择(…)
为您工作?@KlausGütter,谢谢您的评论<代码>行序列没有定义
跳过
。不过,多亏了这个想法,我可以在将数组添加到帧之前跳过它。