1

FrameExtensions 似乎只支持按单列排序。OrderBy 有一个“.ThenBy”选项,但这似乎已被弃用。按“日期”然后按“RECN”排序的任何其他方式?

代码:

using System;
using Deedle;

namespace test
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            var df1 = Frame.ReadCsv (@"../../test.csv");
            Console.WriteLine(df1.GetType ());
            df1.Print ();
            FrameExtensions.SortRows (df1, "DATE").Print();
        }
    }
}

这也不起作用:

df1.GroupRowsBy<int> ("RECN").GroupRowsBy<DateTime> ("DATE").Print ();
df1.GroupRowsBy<DateTime> ("DATE").GroupRowsBy<int> ("RECN").Print ();

数据:

NAME,TYPE,DATE,RECN,COMM
Kermit,Frog,06/30/14,1,1test
Kermit,Frog,06/30/14,1,2test
Ms. Piggy,Pig,07/01/14,2,1test
Fozzy,Bear,06/29/14,3,1test
Kermit,Frog,07/02/14,1,3test
Kermit,Frog,07/02/14,1,4test
Kermit,Frog,07/02/14,1,5test
Ms. Piggy,Pig,07/02/14,2,3test
Fozzy,Bear,07/02/14,3,2test
Ms. Piggy,Pig,07/02/14,2,2test
4

1 回答 1

1

假设FrameExtensions.SortRowsstable,您可以按其排序优先级的相反顺序对每一列进行排序。

例如,如果要先按“DATE”排序,然后按“RECN”排序,请先按“RECN”排序,然后按“DATE”排序结果。

这是基于基数排序的工作原理。

于 2014-07-04T15:30:18.550 回答