gpt4 book ai didi

F#:如何仅在 Deedle 数据框的某些特定列上运行 fillMissing

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

在两个数据框的外部连接之后,我得到了结果数据框 f,它现在包含 A、B、C 和 D 列,它们都包含缺失值。我想使用 fillMissing 填充缺失值,但仅限于 C 和 D 列。

最佳答案

我想出了两种方法来实现这一点,但都不是特别漂亮。我想知道是否有更好的功能方法来执行此操作。

方法一(变异):

fr
|> fun f ->
f?C <- f?C |> Series.fillMissing Direction.Forward
f?D <- f?D |> Series.fillMissing Direction.Forward
f
|> ...further processing...`

方法 2(实用但丑陋):

fr 
|> Frame.mapCols
(fun k v -> match k with
| "C" | "D" -> v |> Series.fillMissing Direction.Forward
| _ -> v.As<obj>() )
|> ...further processing...

对于是否有更好的方法,我将不胜感激。

编辑:我只是针对三种方法(方法 3 是 Foggy Finder 基于合并的方法)在我正在使用的真实数据帧(~70K 行)上运行了一些计时,并得到以下结果:

Method 1: Real: 00:00:00.003, CPU: 00:00:00.000, GC gen0: 0, gen1: 0, gen2: 0    
Method 2: Real: 00:00:00.236, CPU: 00:00:00.234, GC gen0: 9, gen1: 3, gen2: 1
Method 3: Real: 00:00:00.151, CPU: 00:00:00.156, GC gen0: 20, gen1: 1, gen2: 0

关于F#:如何仅在 Deedle 数据框的某些特定列上运行 fillMissing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37106314/

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