You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在kdb+中筛选无空值列(类似Pandas的dropna方法)

在kdb+中筛选无空值的列(类似Pandas的dropna)

你之前的写法没生效,是因为where子句是用来过滤行的,不是筛选列的,方向搞错啦~下面给你两种实用的实现方法:

方法一:分步筛选列

  1. 先找出所有没有空值的列名:
validCols: cols where all not null each t

这里的逻辑拆解下:

  • each t会把表拆成单个列的列表
  • all not null检查每一列的所有元素是否都非空
  • cols where保留符合条件的列名
  1. 用筛选出的列查询表:
select validCols from t

方法二:一行式简洁写法

把两步合并成一行,直接得到结果:

select cols where all not null each t from t

验证效果

针对你的示例表:

t:([] a:1 2 3; b:(); c:`a`b`c)

执行上面的命令后,会得到你想要的结果:

a c
---
1 a
2 b
3 c

内容的提问来源于stack exchange,提问作者Utsav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 06:31:14