gpt4 book ai didi

kdb - 在 KDB+ 中将列作为年/日期的数据透视表

转载 作者:行者123 更新时间:2023-12-01 12:57:14 25 4
gpt4 key购买 nike

我正在尝试从一个简单的表中创建一个列为 year 的数据透视表

q)growth:([] stock:asc 9#`goog`apple`nokia; year: 9#2015 2016 2017; returns:9?20 )
q)growth
stock year returns
------------------
apple 2015 9
apple 2016 18
apple 2017 17
goog 2015 8
goog 2016 13
goog 2017 17
nokia 2015 12
nokia 2016 12
nokia 2017 2

但我无法获得正确的结构,它仍然返回给我一个字典而不是多个 year 列。

q)exec (distinct growth`year)#year!returns by stock:stock from growth
stock|
-----| ----------------------
apple| 2015 2016 2017!9 18 17
goog | 2015 2016 2017!8 13 17
nokia| 2015 2016 2017!12 12 2

我做错了什么吗?

最佳答案

您需要将年份转换为符号,以便将它们用作列标题。在这种情况下,我更新了 growth先表然后执行枢轴:

q)exec distinct[year]#year!returns by stock:stock from update `$string year from growth
stock| 2015 2016 2017
-----| --------------
apple| 12 8 10
goog | 1 9 11
nokia| 5 6 1

此外,您可能会看到我已更改为 distinct[year]来自 (distinct growth`year)因为这会产生与 year 相同的结果从更新的表中提取。

关于kdb - 在 KDB+ 中将列作为年/日期的数据透视表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49208723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com