gpt4 book ai didi

f# - 我可以对 Deedle 相框进行分类吗?

转载 作者:行者123 更新时间:2023-12-02 01:07:57 24 4
gpt4 key购买 nike

据我所知,Deedle 框架仅按索引排序。有什么方法可以应用自定义排序函数或按给定系列排序(并定义升序/降序)?

最佳答案

坚持使用 Frame<int,string> 类型的“标准”框架(整数的行索引和字符串的列名)很容易实现一个能够根据任何单列内容按升序或降序对框架重新排序的函数:

let reorder isAscending sortColumnName (frame:Frame<int,string>)   =
let result = frame |> Frame.indexRows sortColumnName
|> Frame.orderRows |> Frame.indexRowsOrdinally
if isAscending then result else result |> Frame.mapRowKeys ((-) 0)
|> Frame.orderRows
|> Frame.indexRowsOrdinally

烟雾测试 peopleList示例框架:

     Name    Age Countries          
0 -> Joe 51 [UK; US; UK]
1 -> Tomas 28 [CZ; UK; US; CZ]
2 -> Eve 2 [FR]
3 -> Suzanne 15 [US]

reorder false "Name" peopleList 返回 Name 所在的帧降序排列

     Name    Age Countries          
0 -> Tomas 28 [CZ; UK; US; CZ]
1 -> Suzanne 15 [US]
2 -> Joe 51 [UK; US; UK]
3 -> Eve 2 [FR]

reorder true "Age" peopleList 返回 Age 所在的帧升序排列

     Name    Age Countries          
0 -> Eve 2 [FR]
1 -> Suzanne 15 [US]
2 -> Tomas 28 [CZ; UK; US; CZ]
3 -> Joe 51 [UK; US; UK]

然而,在待排序列中不存在重复值的要求可能被认为是这种 Deedle 帧排序方法的一个障碍。

关于f# - 我可以对 Deedle 相框进行分类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20482404/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com