在Deedle中按键降序排序

时间:2016-12-03 21:38:53

标签: c# sorting deedle

我正在尝试用Deedle中的键对Frame进行排序。有一种方法可以按升序(SortRowsByKey)执行此操作,但我需要按降序排列。我宁愿不必拆开并重新创建框架只是为了做到这一点。

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

我使用Frame.RealignRows()方法取得了成功。它将根据提供的Rowkeys的顺序对行进行排序。将RealignRows()RowKeys.Reverse()结合使用,您就可以获得所需的结果!

df = df.RealignRows(df.RowKeys.Reverse());

答案 1 :(得分:0)

您可以做的是对结果进行排序和反转。坏消息是 - Frame不支持倒车。好消息是 - Series确实支持倒车。并且框架中的每个列都是一个系列。

所以要按降序排序,这些步骤是: 1.对框架进行排序。 2.翻转每列。 3.使用反转列构建新框架。

// Sort the data frame by ColumnA
var sorted = dataFrame.SortRows("ColumnA");

// Build a new frame
var reversedFrame = 
    Frame.FromColumns(new[] 
    {
        sorted["ColumnA"].Reversed, 
        sorted["ColumnA"].Reversed, 
        sorted["ColumnA"].Reversed
    });