veryOrdinary
veryOrdinary

性别: 注册于 2023-02-27

向TA求助
20金币数
1210 经验值
0个粉丝
主页被访问 729 次

116 个回答

0 赞同

ddb 中有能实现类似 kdb 的 ungroup 函数吗?

暂时还没有,我们会在后续版本增加该功能的函数,目前可以用自定义脚本替代: def myungroup(t, listColName){        expandIndex = loop(take, til(t.rows()), t[listColName].rowSize()).flatten()        g = def(col, expandIndex){                colType = col.type()                if(colType == ANY || colType...

回答于 2023-04-28 15:54

0 赞同

如何自定义用于 group by 的函数

自定义的函数必须返回一个和表的列等长的向量,然后相当于根据这个结果列做 group by。比如说: nano = 21:00:00 + 1..4price = 100+cumsum(rand(0.02, 4)-0.01)volume = rand(1000, 4)symbol = `000001`600000`601766`600519t=table(symbol, nano, price, volume)def grpfunc(v): iif(v> 50, 0, 1)select sum(price) f...

回答于 2023-04-28 15:51

0 赞同

并行进行表计算并合并结果到一张表

可以参考下述代码进行改写: def work(p){        if(p == 1)                return table(1 2 3 as id)        else                return NULL}loop(work, 1 2 1).unionAll(false) loop 返回一个子任务结果组成的元组,通过 unionAll 可以合并所有表的结果。

回答于 2023-04-28 15:48

0 赞同

如何实现 oracle 的 row_number over 语句

a = table(2020.01.01 + 0 0 0 1 1 1 as date, 0.5 0.4 0.5 0.3 0.7 0.2 as ret)select date, ret, rowNo(date) from a context by date csort ret desc 可以通过上述语句实现您的需求,但需要注意和 oracle 中不同,在 DolphinDB 中行号是从 0 开始而不是从 1 开始的。 关于您的第二个问题,您可以通过 contextby 函数实...

回答于 2023-04-24 16:18

0 赞同

关于浮点数四舍五入的问题

这个是由于浮点数的精度问题导致的,17.955 在二进制里只能保存为17.954999999999998,所以 round 只能返回17.95。可以考虑将其转换为 DECIMAL 类型,再使用 round 进行规约,如:round(19.955$DECIMAL32(3), 2) 相关参考资料:DECIMAL 使用教程

回答于 2023-04-17 09:39

0 赞同

如何绘制正态分布图

以下是我书写的绘制标准正态分布的脚本,供您参考: x =seq(-3000,3000)\1000y=1/sqrt(2*pi) * pow(e, -x*x/2)plot(y, x, extras={multiYAxes: true})

回答于 2023-04-17 09:26

0 赞同

ols 输入非奇异矩阵报错

由于计算机内部浮点数存储的方式,不能直接用 v == 0 去判断浮点数是否为 0。一般场景下为了防止因子之间线性相关,通常做法是先做正交处理,把线性相关性消除,就不会产生奇异矩阵,这是做因子分析的常用做法。另外浮点数比较可以参考DolphinDB 的 eqFloat 函数。

回答于 2023-03-27 18:28

0 赞同

DolphinDB 如何实现 kdb 的传参

可以参考如下脚本: (x -> select * from x where id > 7)(select * from t where id > 5)定义一个 lambda 函数 x -> select * from x where id > 7,select * from t where id > 5 作为传入的参数。

回答于 2023-03-09 18:17

0 赞同

元编程使用函数名变量生成 SQL 语句

可以将上述代码,修改为: funcName = "mavg"N = 10sqlColAlias(makeCall(funcByName(funcName), sqlCol("factorCValue"), N, 1), "fac")

回答于 2023-03-07 11:00

1 赞同

如何选取存储的表的类型

不建议应用本地磁盘数据库,你可以存储为维度表,创建方法参见维度表;或者存储为 mvccTable。

回答于 2023-03-03 14:21