根据最后一行的值按列对Deedle Frame进行排序

s952163

我需要根据最后一行的值对Deedle数据框的列进行排序。因此,第一列的值最大,最后一列的值最小。Deedle的框架在行上具有大部分功能。

以下是一些代码,用于生成示例数据,其中Item2的值将大于Item1:

#load @"..\..\FSLAB\packages\FsLab\FsLab.fsx"
open System
open System.Drawing
open System.Windows.Forms
open Deedle
open FSharp.Charting
open FSharp.Charting.ChartTypes

let rnd = new System.Random()
let dateRange = [for i in 9..-1..0 ->  DateTime.Today.AddDays(float -i)]
let makeData x = [for i in 0..x-2 -> rnd.NextDouble()-0.5] |> List.scan (+) 0.
let series = makeData 10 |> List.zip <| (makeData 10 |> List.map (fun x -> x + 1.))
let df = series |> Frame.ofRecords
df?DateIndex <- dateRange |> Series.ofValues 
let df = df.IndexRows<DateTime>("DateIndex")

在这种情况下,Frame的最后一行将看起来像这样,在第二列中具有较大的值:
2016/05/14 0:00:00 -> 0.143158562780897 0.918480403450541

但我想按以下顺序进行:
2016/05/14 0:00:00 -> 0.918480403450541 0.143158562780897

我发布了答案,但想看看是否还有其他方法,因为我对Deedle不太熟悉。

s952163

Frame.sortRowsWith需要排序功能:

let reverser (a:float) (b:float) =
    if a > b then
        -1
    else if  a < b then
        1
    else
        0

let df1 = df |> Frame.transpose
let coldIdx = df1.ColumnKeys |> Seq.max
Frame.sortRowsWith coldIdx reverser df1 |> Frame.transpose

因此,它将转置数据帧,然后获取最后一行的索引(在本例中为列),并从最大到最小对列进行排序,最后将其转回。这对于制图非常方便,因为这样,图表图例将与图表中的系列对齐。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python 3:按最后一行的列值排序DF的字典

来自分类Dev

根据前一行的值对 SQL 查询进行排序

来自分类Dev

按列值对数据框中的每一行进行排序

来自分类Dev

如何根据行的排序值对pandas数据帧的每一行进行排序并返回列索引

来自分类Dev

按字符名称对data.frame进行排序

来自分类Dev

使用另一个data.frame的行名对data.frame进行排序

来自分类Dev

如何按升序对第一行然后在第二行和最后在第三行中的数字进行排序但保存列顺序?

来自分类Dev

根据一列中相同重复的数目对data.frame进行排序

来自分类Dev

按 SELECT 子查询的最后一行排序

来自分类Dev

如何根据(第一行的值 + X)按组对数据表进行子集

来自分类Dev

在Python Panda中对DataFrame的一部分进行排序,并根据行值按顺序返回新列

来自分类Dev

在R中按降序对一列进行排序(第一行除外)

来自分类Dev

如何根据上一行中的值对sql结果进行排序?

来自分类Dev

根据另一行中的值对Excel行进行排序

来自分类Dev

根据最后一列对数据进行排序

来自分类Dev

根据最后一列Jquery进行表排序

来自分类Dev

根据一行的内容对所有行进行排序

来自分类Dev

根据Mathematica中的一行对矩阵进行排序

来自分类Dev

根据一行的内容对所有行进行排序

来自分类Dev

如何按所有列对矩阵/data.frame进行排序

来自分类Dev

根据列值合并行,并在下一行中对不同的列进行赋值

来自分类Dev

根据bash或awk中一行的值对列重新排序

来自分类Dev

按行对numpy数组进行排序,并根据原始数组对匹配值进行排序

来自分类Dev

根据第一行值对观察值进行分组

来自分类Dev

将DataFrame分组,按组大小和一行中的列值进行过滤?

来自分类Dev

仅选择一行,按值字段排序

来自分类Dev

试图对结构中的数据进行排序,但排序正确,但最后一行是错误的

来自分类Dev

如何按R中每列的最后一个值对数据框中的列进行重新排序

来自分类Dev

按列的值对列进行排序

Related 相关文章

  1. 1

    Python 3:按最后一行的列值排序DF的字典

  2. 2

    根据前一行的值对 SQL 查询进行排序

  3. 3

    按列值对数据框中的每一行进行排序

  4. 4

    如何根据行的排序值对pandas数据帧的每一行进行排序并返回列索引

  5. 5

    按字符名称对data.frame进行排序

  6. 6

    使用另一个data.frame的行名对data.frame进行排序

  7. 7

    如何按升序对第一行然后在第二行和最后在第三行中的数字进行排序但保存列顺序?

  8. 8

    根据一列中相同重复的数目对data.frame进行排序

  9. 9

    按 SELECT 子查询的最后一行排序

  10. 10

    如何根据(第一行的值 + X)按组对数据表进行子集

  11. 11

    在Python Panda中对DataFrame的一部分进行排序,并根据行值按顺序返回新列

  12. 12

    在R中按降序对一列进行排序(第一行除外)

  13. 13

    如何根据上一行中的值对sql结果进行排序?

  14. 14

    根据另一行中的值对Excel行进行排序

  15. 15

    根据最后一列对数据进行排序

  16. 16

    根据最后一列Jquery进行表排序

  17. 17

    根据一行的内容对所有行进行排序

  18. 18

    根据Mathematica中的一行对矩阵进行排序

  19. 19

    根据一行的内容对所有行进行排序

  20. 20

    如何按所有列对矩阵/data.frame进行排序

  21. 21

    根据列值合并行,并在下一行中对不同的列进行赋值

  22. 22

    根据bash或awk中一行的值对列重新排序

  23. 23

    按行对numpy数组进行排序,并根据原始数组对匹配值进行排序

  24. 24

    根据第一行值对观察值进行分组

  25. 25

    将DataFrame分组,按组大小和一行中的列值进行过滤?

  26. 26

    仅选择一行,按值字段排序

  27. 27

    试图对结构中的数据进行排序,但排序正确,但最后一行是错误的

  28. 28

    如何按R中每列的最后一个值对数据框中的列进行重新排序

  29. 29

    按列的值对列进行排序

热门标签

归档