KDB中是否有等同于numpy array.shape的方法查询n维矩阵维度?
KDB n维矩阵维度查询方案
针对你目前使用count加count flip查询二维矩阵维度、写法繁琐的问题,可通过以下两种更优雅的方案实现,同时支持n维矩阵的维度查询:
方案1:自定义通用维度函数(推荐n维场景使用)
你可以提前定义一个递归维度查询函数,适配任意维度的数组结构:
dims: {$[type x;-1h;0=count x;0 0h;count[x],dims first x]}
使用示例:
- 一维向量:调用
dims 1 2 3,返回,3 - 二维矩阵:调用
dims (1 2 3;4 5 6),返回2 3,直接替代你原本拆分两次查询的写法 - 三维及以上高维矩阵:可自动递归输出对应维度序列,原生支持任意n维场景
方案2:二维场景简化写法
如果仅需要处理二维矩阵,不需要适配高维场景,可以直接用原子应用符一次性返回行列数:
(count;count flip)@\:your_matrix
该写法直接返回(行数,列数),不需要分两次编写查询逻辑。
内容的提问来源于stack exchange,提问作者cjm2671
相关产品推荐
相关产品推荐

