gpt4 book ai didi

f# - 如何使用 Deedle 从某个键及以下获取每一行?

转载 作者:行者123 更新时间:2023-12-04 08:34:45 25 4
gpt4 key购买 nike

我想返回每个值,包括某个键。
虽然我可以生成每个这样的键并将它们全部放入 Get 中,但我怀疑这会低效地搜索每个键的值。
受到 this 答案的启发,我想出了以下内容

let getAllUpTo key (frame:Frame<'key,'col>) : Frame<'key, 'col> =
let endRng = frame.RowIndex.Locate key
let startRng = frame.RowIndex.KeyRange |> fst |> frame.RowIndex.Locate
let fixedRange = RangeRestriction.Fixed (startRng, endRng)
frame.GetAddressRange fixedRange
有没有内置的方法可以有效地做到这一点?

最佳答案

如果要使用指定的开始/结束键访问数据帧的子范围,可以使用 df.Rows.[ ... ] 来执行此操作。索引器。假设我们有一些按(排序)日期索引的数据:

let s1 = series [
let rnd = Random()
for d in 0 .. 365 ->
DateTime(2020, 1, 1).AddDays(float d) => rnd.Next() ]

let df = frame [ "S1" => s1 ]
要获取在特定日期开始/结束的数据框的一部分,您可以使用:
// Get all rows from 1 June (inclusive)  
df.Rows.[DateTime(2020, 6, 1) ..]

// Get all rows until 1 June (inclusive)
df.Rows.[.. DateTime(2020, 6, 1)]
您正在使用的 API 本质上是它在幕后所做的 - 但您使用的是非常低级的操作,您通常不需要在用户代码中使用。

关于f# - 如何使用 Deedle 从某个键及以下获取每一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64849252/

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