【问题标题】:How do I remove the first few rows in a table based on my time column in kdb如何根据我在 kdb 中的时间列删除表中的前几行
【发布时间】:2021-04-08 20:15:26
【问题描述】:

我有一个包含列的表:time、sum_every_5min、sum_every_10min 和 sum_every_20min。如何按时间设置条件并每 5 分钟求和一次、每 10 分钟求和一次、每 20 分钟求和一次用 NaN 求和替换我的值?

例如,对于 sum_every_5min 列,如果时间在 9:30 之前,则该列中时间在 9:30 之前的所有值都将替换为 NaN。其他两列保持不变。

任何帮助将不胜感激!

谢谢!

【问题讨论】:

    标签: kdb


    【解决方案1】:

    这可以通过在时间列上带有 where 子句的 qSql 更新查询来完成:

    update sum_every_5min:0Nf from t where time < 09:30

    看一下qSql上的kx文档:

    https://code.kx.com/q4m3/9_Queries_q-sql/

    【讨论】:

    • 但我收到一个错误: ERROR: 'type if I try this。我确定我的时间是 hh:mm 的形式。而我的 sum_every_5min 包含浮点数 rn。
    • 将 null 指定为浮点数,在上面进行了编辑。 0N 将默认为长
    • 知道了!非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多