【问题标题】:How do I drop rows by symbol in KDB?如何在 KDB 中按符号删除行?
【发布时间】:2021-08-19 12:23:22
【问题描述】:

我有一张表格:

sym date       v           ac       lR           zR          
-------------------------------------------------------------
A   1999.11.18 4.47399e+07 29.11226                          
A   1999.11.19 1.08971e+07 26.71712 -0.08585502              
A   1999.11.22 4705200     29.11226 0.08585502   1           
A   1999.11.23 4274400     26.6311  -0.08907963  -0.7267457  
A   1999.11.24 3464400     27.16703 0.01992441   0.5031717   
A   1999.11.26 1237100     27.25305 0.003161097  0.2454482   
A   1999.11.29 2914700     27.87499 0.02256457   0.4784645   
A   1999.11.30 3083000     27.91469 0.00142315   0.1285608   

我想删除每个 sym 的前 60 行。

我试过ungroup 60 _ select from table by sym,但这对我来说似乎不合适。我做错了什么?

【问题讨论】:

    标签: kdb


    【解决方案1】:

    对于内存表,您可以这样做:

    q)t:([]sym:20?`A`B;col:til 20)
    q)select from t where({x in 5_x};i)fby sym
    sym col
    -------
    B   9
    A   11
    B   12
    A   13
    B   14
    A   15
    B   16
    B   17
    A   18
    A   19
    

    将“5”替换为您想要砍掉的数量

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-26
      • 2018-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多