【问题标题】:Q (kdb+): Create a table with a character vectorQ(kdb+):用字符向量创建表
【发布时间】:2012-03-21 14:46:18
【问题描述】:

我可以创建一个带有原子类型的 kdb+ 表,例如。

trade:([]time:`time$();sym:`symbol$();price:`float$();size:`int$())

是否可以用字符向量创建一个空表?感谢我能得到的任何帮助/示例。我对Q的了解很差

【问题讨论】:

    标签: kdb


    【解决方案1】:

    不,不是真的

    对“嵌套”类型的支持(其中“字符串列”,即字符列表的列表是一个)在 q 中相当有限;特别是,没有办法强类型空嵌套列表

    【讨论】:

      【解决方案2】:
      t: ([] time: `time$(); chr: `char$())
      
      t, ([] time: enlist 09:30:00.001; chr: enlist"abcd")
      

      嵌套类型实际上得到了很好的支持,我有一些表,其中列条目本身就是表。

      【讨论】:

      • 谢谢,但“time$”或“char$”在我的安装(kdb 2.8)上都不起作用。您使用哪个版本?
      • 哦,我知道发生了什么事,markdown 破坏了它,它应该是反引号时间。让我看看我是否能找出正确的编辑方式。
      • 另外,我意识到上面可能指的是在展开/分区/分段表中执行此操作的能力,这在某种程度上是正确的。没有限制适用于内存中的嵌套或简单保存的表。见code.kx.com/wiki/JB:KdbplusForMortals/…
      • @yike-lu:它们不是同一类型——空表中的chr 是一个字符向量,即每个数据点都是单个字符的列。逗号语句的结果中的chr 是一个字符列表(又名字符串列表),即每个数据点都是一个字符串的列。考虑meta tmeta t, ([] time: enlist 09:30:00.001; chr: enlist"abcd") 之间的区别——chr 在第一个中输入c,在第二个中输入C
      • @AaronDavies:我明白你在说什么。确实如此,但我的代码显示可以创建这样一个列,然后稍后将C 类型插入其中。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多