Polly
Polly

性别: 浙江 - 杭州 注册于 2021-07-28

向TA求助
36金币数
2320 经验值
1个粉丝
主页被访问 2127 次

165 个回答

0 赞同

SQL 如何实现不同分组的数据赋值给不同的变量

上述脚本,在 DolphinDB 会按行取出赋值,每个变量都是一个字典,如: t = table(['a', 'b', 'c'] as sym, [1, 2, 3] as val) res_a, res_b, res_c = select * from t where sym in ['a', 'b', 'c'] res_a // output val->1 sym->'a' 如果要实现 name = 'a' 赋值给 res_a, name = 'b' 赋值给 res_b...的效果,可...

回答于 2023-04-07 10:43

0 赞同

PythonAPI 指定不同的传输协议的区别

ROTOCOL_ARROW 协议是使用了apache arrow 的方案,是通用的序列化方案,从使用场景来看,ROTOCOL_ARROW 最适用于从上游数据库到下游消费,全部使用 arrow 格式作为中间格式的场景,可以方便地在各个组件之间传递,只需要付出从数据库取出数据这一次序列化开销,后续不需要序列化和反序列化。PROTOCOL_DDB是我们最常用的通信...

回答于 2023-04-07 10:30

0 赞同

case when 导致服务崩溃

请问您是什么版本的server,目前有个类似的 bug 已经于2.00.9.3 / 1.30.21.3 版本修复(目前还未发布),您可以用 version() 函数查询一下 server 的版本。目前该版本还未发布,等近期发布后,您再尝试升级版本。

回答于 2023-03-27 11:31

0 赞同

DolphinDB 中如何判断矩阵是否满秩

目前没有计算矩阵的秩的函数,可以通过下述脚本判断自变量矩阵是否为满秩: det(x.transpose() ** x) != 0 也可以自定义函数求秩(非零奇异值的个数等于矩阵的秩) def matrixRank(m) {        return sum 0!=svd(m, computeUV=false);}

回答于 2023-03-22 18:04

0 赞同

python api 使用 appender 入库 decimal 数据时,数据错误

参考 python API 教程 5.4.2 章节的说明, 上传的表中包含 Python decimal.Decimal 对象时,必须确保 DECIMAL 类型列的所有数据具有相同的小数位数,否则以第一行数据的精度为准,您的第一行数据精度为四位小数,因此 3 位小数的数据上传后会发生数据错误。 可以将源码中生成 decimal 类型的代码改为: price_list = [Dec...

回答于 2023-03-22 17:16

0 赞同

如何将行计算返回的多个结果存储在不同列中?

对于题目中的例子有两种方法可以实现: * 方法一:case 语句(1.30.21/2.00.9 版本开始支持) select case when symbol=`a then rowMin(price1, price2, price3)  else rowAvg(price1, price2, price3) end as col1, case when symbol=`a then rowMax(price1, price2, price3) else rowStd(price1, price2, price3) end a...

回答于 2023-03-22 16:47

0 赞同

如何通过列名字符串来引用列变量?

根据上图代码,可以推断此处的需求是进行控制填充,直接用 nullFill 函数进行即可。如: t = table(1.0 2.0 NULL 3.3 as open, NULL 1.3 NULL 2.2 as low)nullFill(t, 0) 此处 tb_fj[col, <isNull(col)>] 中,col 必须是列变量,而不能是字符串,可以参考下述代码进行改写: id = 1..10x = rand(NULL 10.0, 10)t  ...

回答于 2023-03-22 15:23

0 赞同

update 更新数据时,数据结果为空

此处是因为 where 语句先于 select 语句执行,所以筛选出的 9:31m 的数据只有一条,其 prev 为空值,计算后结果为空。详见 SQL 执行顺序的文档。 1.30.21 / 2.00.9 版本后支持使用 case when 语句,可参考下述脚本对 SQL 语句进行修改: time = 09:00m + 1..60 b_sum = 1..60 t = table(time, b_sum) update t set b_sum...

回答于 2023-03-22 14:53

0 赞同

The parameter sortColumns is not defined in function createP...

根据你的报错信息:The parameter sortColumns is not defined in function createPartitionedTable 首先你需要检查一下 server 是否是 200 的版本,因为 130 的版本不支持 TSDB,而 sortColumns 是 TSDB 引擎下表特有的参数。 其次根据你的代码,sortColumns=`UpdateTime`SecurityID 指定不符合规范,因为 TSDB 引擎要求...

回答于 2023-03-22 10:51

0 赞同

请问DolphinDB没有类似于python的切片函数呢?比如我要取间隔5日...

除上述方法外,还可以通过方法二:通过 cutPoints 函数,但由于范围包含右边界,需要去掉最后一个数据。cutPoints(dataVector, ceil(dataVector.size()\5))方法三:仅 200 版本支持,通过列式元组取数特性实现:cut(v, 5).setColumnarTuple!()[0]

回答于 2023-03-21 17:41